- S笔记
-
strConn="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=kaoqing;DataSource=JANSON"不知上句的字符串内容是否正确。sql数据库的连接代码我没有,给ACCESS数据库的连接代码供参考:strConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"hxrkgl.mdb;PersistSecurityInfo=False"你的其它代码经调试未发现问题,正确运用了ADODB数据对象。但从你的叙述中看,你另外使用了ADODC数据控件,是否是该功件的属性设置有问题。补充:1)ADODC数据控件作连接字符串正确后,如未指定数据表,运行会报错,你可删除该控件,运行你的代码不会有问题。如果你是新建数据工程,VB会自行加载ADO数据对象。如果你是新建EXE工程,则应由工程菜单选引用选项,在其窗口选MICROSOFTACTIVEXDATAOBJECTS2.0LIBRARY加钩即可。不过建议按新建数据工程简单。2)我用以下代码调试你的主要代码,仅按新建EXE工程,则应由工程菜单选引用选项,在其窗口选MICROSOFTACTIVEXDATAOBJECTS2.0LIBRARY加钩,并添加DATAGRID部件,无问题,在VB6调试:PrivateSubForm_Load()DimstrConnAsStringDimpubConnAsNewADODB.ConnectionDimrsTableAsNewADODB.RecordsetDimstrSQLAsString"strConn="Provider=SQLOLEDB.1;IntegratedSecurity=SSPI;PersistSecurityInfo=False;UserID=sa;InitialCatalog=kaoqing;DataSource=JANSON"strConn="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"hxrkgl.mdb;PersistSecurityInfo=False"pubConn.OpenstrConnrsTable.CursorLocation=adUseClientstrSQL="select*frommdlk_sj""strSQL="select*fromattdcardrec"rsTable.OpenstrSQL,pubConn,adOpenDynamic,adLockOptimisticSetDataGrid1.DataSource=rsTableEndSub
在VB代码中"rs.CursorLocation = adUseClient"表示什么意思?请详细分析回答,尽快!多谢!
rs.CursorLocation=adUseClient使用客户端光标rs.CursorLocation=adUseServer使用服务端光标CursorLocation属性设置或返回游标服务的位置。设置或返回可设置为adUseNone、adUseClient、adUseServer三种常量的长整型值。adUseNone没有使用游标服务。(该常量已过时并且只为了向后兼容才出现)。adUseClient使用由本地游标库提供的客户端游标。本地游标服务通常允许使用的许多功能可能是驱动程序提供的游标无法使用的,因此使用该设置对于那些将要启用的功能是有好处的。AdUseClient具有向后兼容性,也支持同义的adUseClientBatch。adUseServer默认值。使用数据提供者的或驱动程序提供的游标。这些游标有时非常灵活,对于其他用户对数据源所作的更改具有额外的敏感性2023-07-12 00:19:561
rs.CursorLocation=2
adUseClient 3使用本地游标库提供的客户端的游标。本地游标服务通常允许执行驱动程序提供的游标所不允许的许多功能,因此使用此设置可以充分利用即将启用的功能。为进行向后兼容,亦支持同义字 adUseClientBatch。adUseNone 1不使用游标服务。(此常量已作废并且只是为了向后兼容才出现。)adUseServer 2默认值。使用数据提供者或驱动程序提供的游标。这些游标有时很灵活,可以额外感知其他人对数据源所做的更改使用2就是服务器端游标,这种情况下,很多的操作不是我们决定的而是数据库服务器来决定的.但是3就是客户机游标,这种情况下,是一定能得到recordCount的2023-07-12 00:20:031
Rs.Cursorlocation=3 Rs.open strSql,Conn,2,2,1 这两句是什么意思啊
Rs.Cursorlocation=3数据集rs返回的游标位置为3Rs.open strSql,Conn,2,2,1从数据库读取记入,并存入rs中,其中strsql是自定义的SQL语句Conn是数据库链接对象,2,2,1依次为记录集的游标类型,锁定类型,常量参数2023-07-12 00:20:191
rs.CursorLocation=3是什么意思?
客户端游标游标类型有很多,比如服务器端、客户端、动态、静态等。 比较省资源,远程调用用的比较多2023-07-12 00:20:261
javascript怎么与数据库连接
<%var sql = "select * from Dictionary where MainID="" + v + """ ;%>2023-07-12 00:20:353
vb将excel导入数据库
在 ACCESS里可以直接导入文件-获取外部数据-导入 选EXCEL文件2023-07-12 00:20:535
vb如何连接到Microsoft Office Access 2007
"Access2007 OR Access2010strDSN = "Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Data Source=" & App.Path & "data诊断.accdb;Persist Security Info=False;Jet OLEDB:Database Password=""""strDSN = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "pcdb1.mdb;Persist Security Info=False;Jet OLEDB:Database Password=""" "Access2003ssal="select * from 表1 "On Error Resume NextIf rst.State = 1 Then rst.Closerst.CursorLocation = adUseClientrst.Open ssql, strDSN, adOpenDynamic, adLockOptimistic2023-07-12 00:21:101
用VB如何在Access数据库某个表中加入数据
Dim db As adodb.Connection "定义了一个连接db Dim rs As adodb.Recordset "定义了一个记录集rs "==============初始化设置============== Set db = New adodb.Connection "设置db是一个连接对象 db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEdb.4.0;Data Source=ecdict.mdb;" "建立连接 Set rs = New adodb.Recordset rs.Open "select * from d_dict", db, adOpenStatic, adLockOptimistic rs.MoveFirst "记录指针指到第一个记录 rs.MoveNext ‘记录指针向下移一个记录rs("d_china") 这句话的意思是表示d_china字段的值,你可以附给一个字符串变量"==============关闭记录集数据库==========rs.CloseSet rs = Nothingdb.CloseSet db = Nothing2023-07-12 00:21:202
VB数据库添加字段
1、增加字段: CString msql = "ALTER TABLE student ADD COLUMN ziduan char(50)"; mdatabase.ExecuteSQL(msql);//添加名为zizhuan的字段到名为student的表中。2、新纪录: msqlstr = "INSERT INTO student (学号,姓名,数学) VALUES ("2011","jack","99")"; mdatabase.ExecuteSQL(msql);//添加学号为2011,姓名为jack,数学为99的一行记录 到表student中。3、删除: CString msql = “DELETE FROM student WHERE 学号 = "2011"”; mdatabase.ExecuteSQL(msql);//删除学号为2011的一行记录。2023-07-12 00:21:382
vb 中怎么连接另一台计算机的access数据库
不能直接连,将另一台机的ACCESS库设置成ODBC数据源,连接这个源.2023-07-12 00:21:483
怎样用VB编写一个登陆系统,可以注册账号的那种
配个数据库,读的时候去数据库读,注册的时候写入数据库2023-07-12 00:21:573
VB如何连接SQL数据库?
一个用VB连接SQL数据库连接的模块2007年01月22日 星期一 下午 05:29下面是一个连接数据库的模块,大家可以使用它来连接SQL数据库,使用起来比ADO控件还简单: 代码如下: Public rsNew As ADODB.Recordset Public CnNew As ADODB.Connection Public addFlag As Boolean "连接数据库 Public Function OpenCn() As Boolean Dim Mag As String On Error GoTo strErrMag Set CnNew = New ADODB.Connection CnNew.ConnectionTimeout = 25 CnNew.Provider = "sqloledb" CnNew.Properties("data source").value = "" "SQL服务器的名 CnNew.Properties("initial catalog").value = "pubs""库名 CnNew.Properties("integrated security").value = "SSPI""登陆类型 "con.Properties("user id").value = "sa" "con.Properties("password").value = "wwww" CnNew.Open OpenCn = True addFlag = True Exit Function strErrMag: Mag = "数据库末连接" Call MsgBox(Mag, vbOKCancel, "错误:数据库连接") addFlag = False End End Function Public Sub Clocn() "闭关数据库 On Error Resume Next If CnNew.State <> adStateClosed Then CnNew.Close Set CnNew = Nothing End Sub Public Function OpenRs(ByVal strSql As String) As Boolean "连接数据库记录集 Dim Mag As String Dim rpy As Boolean On Error GoTo strErrMag Set rsNew = New ADODB.Recordset If addFlag = False Then rpy = OpenCn With rsNew .ActiveConnection = CnNew .CursorLocation = adUseClient .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open strSql End With addFlag = True OpenRs = True Exit Function strErrMag: Mag = "数据库数据集末连接" Call MsgBox(Mag, vbOKOnly, "错误:数据库连接") OpenRs = False End End Function Public Sub cloRs() "闭关数据集 On Error Resume Next If rsNew.State <> adStateClosed Then rsNew.Close Set rsNew = Nothing End Sub 只要在你的标准模块中加入该代码,你就可以使用其中的函数来连接数据源了。2023-07-12 00:23:571
在VB中参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突
除LS指出的错误外,还包含Dim str As New ADODB.RecordsetSet str = New ADODB.Recordset重复了。2023-07-12 00:24:403
access如何让在窗体中输入记录后保存到表当中?
Private Sub 入库_click()"默认你的后面的textbox的名称就是前面的名称"这里的数据类型可能要转换,比如价格可能要转换成double(CDbl()),购买日期转行成日期时间型(CDate())"假设你的数据表是aa,字段名和界面显示是一样的 Dim Rs As ADODB.Recordset "在插入前建议你在aa表里查查这条记录是否已经存在,如果已经存在则给出提示(查询条件看你怎么设置的主键了) Rs = objADO.GetRs("insert into aa (书名,定价,作者,图书类别,出版社,介质,购买日期,内容简介) values (" & 书名.Text & "," & vbCrLf & _ "定价.text & ", " & 作者.text & ", " & 图书类别.text & ", " & 出版社.text & ", " & 介质.text & ", " & 购买日期.text & ", " & 内容简介.text & ") "这里如果表aa的字段多于界面显示的也没关系,只会给你aa后面括号里的字段赋值,这里后面values的顺序必须和前面的对应 "正确插入后建议给个提示,同时看看有没有必要把界面的所有值清空(图书类别.text = "") "这里的objADO建议这么定义Public objADO As SqlServer,有别的查询也可以直接用,你自己怎么定义的就换成你自己的 "GetRs的定义在下面,你也可能是dim strsql as string,然后strsql = (上面的插入语句),然后用下面Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly的方法,都行的,就看你自己怎么写的了End SubPublic Function GetRs(ByVal strSql As String) As ADODB.Recordset "通过执行SQL语句返回记录集 Dim Rs As ADODB.Recordset On Error GoTo Err0 If Not OpenDB Then Exit Function End If Set Rs = New ADODB.Recordset Rs.CursorLocation = adUseClient "使用本地(客户端)游标,这样Rs.RecordCount属性才能正确返回记录集行数 DoEvents Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly Set GetRs = Rs Exit Function Err0: If InStr(1, Err.Description, "通讯链接失败") > 0 Then Set Conn = New ADODB.Connection LocalStat = "断开" "设置本地数据库连接状态 End If MsgBox Err.DescriptionEnd Function2023-07-12 00:24:461
VB怎么做报表和打印?
最简单的方法:先用 Excel做报表,然后导入access(最好设置密码),利用access中的转换工具将报表转换成97版(我用的是access2003版本,没转换的话涉及到vb6.0sp6)。然后在vb中添加一个data和一个dbgrid以及数个command和text,利用data添加报表,利用dbgrid显示报表,利用text的DataSource 属性来添加和更改报表,最后是调用excel来作报表预览和打印(唉......知识有限,我就知道这么多了)2023-07-12 00:24:562
如何用vb连接mysql数据库
VB连接MYSQL数据的方法博客分类:VBVBMySQLSQLServerSQLSocket 第一步:上网http://dev.mysql.com/downloads/connector/odbc/下载mysql-connector-odbc-5.1.6-win32.msi 第二步:安装mysql-connector-odbc-5.1.6-win32.msi 第三步:运行VB并新建一标准EXE工程, 通过菜单工程->引用 打开”引用”对话框, 找到 MicrosoftActiveX Data Objects x.x Library , 其中 x.x 是版本号, 可能会有很多个, 这里我选择的是2.5 第四步:打开代码窗口, 在 Form_Load 过程中输入下面的代码(具体说明在代码的注释中): Vb代码 " 定义并创建数据库连接和访问对象 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset " 定义数据库连接字符串变量 Dim strCn As String " 定义数据库连接参数变量 Dim db_host As String Dim db_user As String Dim db_pass As String Dim db_data As String " 定义 SQL 语句变量 Dim sql As String " 初始化数据库连接变量 db_host = "localhost" db_user = "root" db_pass = "" db_data = "erqiuda" " MySQL ODBC 连接参数 "+------------+---------------------+----------------------------------+ "| 参数名 | 默认值 | 说明 | "+------------+------------------------------------------------------–+ "| user | ODBC (on Windows) | MySQL 用户名 | "| server | localhost | MySQL 服务器地址 | "| database | | 默认连接数据库 | "| option | 0 | 参数用以指定连接的工作方式 | "| port | 3306 | 连接端口 | "| stmt | | 一段声明, 可以在连接数据库后运行 | "| password | | MySQL 用户密码 | "| socket | | (略) | "+------------+---------------------+----------------------------------+ " 详细查看官方说明 " http://dev.mysql.com/doc/refman/5.0/en/myodbc-configuration-connection-parameters.html strCn = "DRIVER={MySQL ODBC 5.1 Driver};" & _ "SERVER=" & db_host & ";" & _ "DATABASE=" & db_data & ";" & _ "UID=" & db_user & ";PWD=" & db_pass & ";" & _ "OPTION=3;stmt=SET NAMES GB2312" " stmt=SET NAMES GB2312 " 这句是设置数据库编码方式 " 中文操作系统需要设置成 GB2312 " 这样中文才不会有问题 " 版本要求 mysql 4.1+ " 连接数据库 cn.Open strCn " 设置该属性, 使 recordcount 和 absolutepage 属性可用 cn.CursorLocation = adUseClient " 访问表users sql = "select * from users" rs.Open sql, cn MsgBox rs.RecordCount2023-07-12 00:25:051
vb.net连接access数据库问题
"1、 新建模块Module Module1 Public ADOConn As New ADODB.Connection Public Adors As New ADODB.Recordset End Module "2、 引用"引用adodb 7.0.3300.0 "3、 模块函数连接函数: Public Function LinkDatabase(ByVal AppPath As String) As String LinkDatabase = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & AppPath & "Database.mdb;Persist Security Info=False;Jet OLEDB:Database Password=111111" End Function "4、 OK_Click确定登录事件Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click "测试用户名及密码是否有效 ADOConn.ConnectionString = LinkDatabase(System.Environment.CurrentDirectory) "参数为当前目录位置ADOConn.CommandTimeout = 10 ADOConn.CursorLocation = ADODB.CursorLocationEnum.adUseClient ADOConn.Open() Adors.Open("select * from Tables where 姓名="" & Trim(UsernameTextBox.Text) & "" and 密码="" & PasswordTextBox.Text & """, ADOConn) If Adors.RecordCount > 0 Then ADOConn.Close() MDIParent1.Show() Me.Hide() Else ADOConn.Close() MsgBox("错误:" & vbCrlf & vbCrlf & "无效用户名或密码,禁止用户登录.", MsgBoxStyle.Critical, "Error") PasswordTextBox.Text = "" PasswordTextBox.Focus() End If End Sub "当然Adors.Open("……",ADOConn)表示查询,结果是不允许修改的,要修改必需加参数:Adors.Open("……", ADOConn, ADODB.CursorTypeEnum.adOpenStatic, ADODB.LockTypeEnum.adLockOptimistic)2023-07-12 00:25:152
怎么判断VB6.0编程中的某些错误
1:读取。 1、在VB中,建立一个FORM,在其上放置两个命令按钮,将Command1的Caption属性改为EXCEL,Command2的Caption属性改为End。然后在其中输入如下程序: Dim xlApp As Excel.Application "定义EXCEL类 Dim xlBook As Excel.Workbook "定义工件簿类 Dim xlsheet As Excel.Worksheet "定义工作表类 Private Sub Command1_Click() "打开EXCEL过程 If Dir("D: empexcel.bz") = "" Then "判断EXCEL是否打开 Set xlApp = CreateObject("Excel.Application") "创建EXCEL应用类 xlApp.Visible = True "设置EXCEL可见 Set xlBook = xlApp.Workbooks.Open("D: empb.xls") "打开EXCEL工作簿 Set xlsheet = xlBook.Worksheets(1) "打开EXCEL工作表 xlsheet.Activate "激活工作表 xlsheet.Cells(1, 1) = "abc" "给单元格1行驶列赋值 xlBook.RunAutoMacros (xlAutoOpen) 运行EXCEL中的启动宏 Else MsgBox ("EXCEL已打开") End If End Sub Private Sub Command2_Click() If Dir("D: empexcel.bz") <> "" Then "由VB关闭EXCEL xlBook.RunAutoMacros (xlAutoClose) "执行EXCEL关闭宏 xlBook.Close (True) "关闭EXCEL工作簿 xlApp.Quit "关闭EXCEL End If Set xlApp = Nothing "释放EXCEL对象 End End Sub 2、在D盘根目录上建立一个名为Temp的子目录,在Temp目录下建立一个名为"bb.xls"的EXCEL文件。 3、在"bb.xls"中打开Visual Basic编辑器,在工程窗口中点鼠标键选择插入模块,在模块中输入入下程序存盘: Sub auto_open() Open "d: empexcel.bz" For Output As #1 "写标志文件 Close #1 End Sub Sub auto_close() Kill "d: empexcel.bz" "删除标志文件 End Sub 4、运行VB程序,点击EXCEL按钮可以打开EXCEL系统,打开EXCEL系统后,VB程序和EXCEL分别属两个不同的应用系统,均可同时进行操作,由于系统加了判断,因此在VB程序中重复点击EXCEL按钮时会提示EXCEL已打开。如果在EXCEL中关闭EXCEL后再点EXCEL按钮,则会重新打开EXCEL。而无论EXCEL打开与否,通过VB程序均可关闭EXCEL。 2:写入。 Excel导入sql: "引用ADO(Microsoft ActiveX Data Objects 2.X Library) Private Sub Command2_Click() Dim cn As New ADODB.Connection cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=123;Initial Catalog=dataBase001;Data Source=mySERVICE" cn.CursorLocation = adUseClient cn.Open cn.Execute "select * into table4 from OpenRowSet("microsoft.jet.oledb.4.0","Excel 8.0;HDR=Yes;database=d: empb.xls;","select * from [Sheet1$]")" cn.Close Set cn=Nothing End Sub2023-07-12 00:26:331
vb如何获取数据库的数据,并修改
我是“翰林院里扫地”的马甲,因为修改次数达到上限,无法修改了,只能用马甲发言。我再次道歉,因为我当时记得 rs("mark")=rs("mark")-10 这样的语句有问题,但是原因我记错了。现在我承认,rs("mark")=rs("mark")-10 这样的语句的确能运行。但是,它有问题这个也是事实,你试试看,当rs.Open出来的表中记录数大于1的时候,你再用这条语句来放到循环里,你就知道什么问题了。总之,提问者记住,特例除外,要修改数据库,尽量避免使用 rs("mark")=rs("mark")-10 这样的语句。完毕。2023-07-12 00:26:433
怎么在vb中运行多行sql语句?比如说这句
想执行多条sql语句,你可以写个存储过程,然后在vb里调用存储过程2023-07-12 00:26:513
怎样用asp显示数据库里的图片
呵呵,一般的做法都是把图片地址存入数据库中的直接从数据库读取图片这个还真是比较高级放个书签,我也学习学习2023-07-12 00:27:013
VB 向数据库 写入数据
问题不具体,无法确切回贴查msdnadodc相关内容2023-07-12 00:27:103
如何html中调用ASP代码
<iframename="makewing"src="需要调用的页面地址"frameborder=falsescrolling="auto"width="100%"height="100%"frameborder=noonload="document.all["makewing"].style.height=makewing.document.body.scrollHeight"></iframe>这是一段IFRAME自动适应高度的代码,你可以用这个调用。2023-07-12 00:27:275
Adodc1.ConnectionString = "provider=Microsoft.jet.OLEDB.4.0; Data source=" & App.Path & "data1.mdb
你们学的好难啊 ,唉,都是学计算机的苦孩子2023-07-12 00:27:573
vb中Adodc1的属性
Adodc控件(Name) Adodc控件的名称 Align 获得或设置一个值,决定对象在窗体上的显示位置。取值为:0 vbAlignNone(无)1 vbAlignTop(顶部排列)2 vbAlignBottom(底部排列)3 vbAlignLeft(左边排列)4 vbAlignRight(右边排列) Appearance 是否用立体效果绘制。取值为:0 adFlatBevel(平面)1 ad3DBevel(立体) BackColor 设置背景颜色。可从弹出的调色板选择。 BOFAction 当到达文件开始处的行为。取值为:0 adDoMove First1 adStayBOF CacheSize 获得或设置作为游览集合的缓存来保留的行数 Caption 控件的标题 CommandTimeout 等待命令返回的时间量(单位秒)。 CommandType 指示命令类型。取值为:1 adCmdText2 adCmdTable4 adCmdStoredProc8 adCmdUnknown ConnectionString 支持连接字符串的OLEDB提供程序(打开属性页--通用)。 ConnectionTimeout 在中止前等待打开连接的时间量(单位秒)。 CursorLocation 决定时使用服务器端游标还是客户端游标(使用哪个游标引擎) 。取值为:2 adUseServer3 adUseClient CursorType 设置用于下一级recordset的游标类型。取值为:1 adOpenKeyset2 adOpenDynamic3 adOpenStatic DragIcon 该对象在拖动过程中鼠标的图标 DragMode 该对象的拖动模式。取值为:0 Manual(手动)1 Automatic(自动) Enabled 用于设定是或对事件产生响应。取值为:True 可用False 不可用。在执行程序时,该对象用灰色显示,并且不响应任何事件 EOFAction 当到达文件结尾处的行为。取值为:0 adDoMoveLast1 adStayEDF2 adDoAddNew Font 字型。可从弹出的对话框选择字体,大小和风格 ForeColor 前景颜色。可从弹出的调色板选择。 Height Adodc控件的高度 Index 在对象数组中的编号 Left 距离容器左边框的距离 LockType 获得或设置使用的锁定(并发)类型。取值为:-1 adLockUnspecified1 adLockReadOnly2 adLockPessimistic3 adLockOptimistic4 adLockBatchOptimistic MaxRecords 当打开时取回的最大记录数 Mode 描述当前被打开的连接中的模式。取值为:0 adModeUnkown1 adModeRead2 adModeWrite3 adModeReadWrite4 adModeShareDenyRead8 adModeShareDenyWrite12 adModeShareExclusive16 adModeShareDonyNone Negotiate 当窗体上的一个活动对象显示一个或多个工具栏时,决定是否显示一个可对齐的控件。取值为:TrueFalse Orientation 控件方向。取值为:0 adHorizontal(水平)1 adVertical(垂直) Password 密码-支持密码的OLEDB提供程序。(打开属性页--身份验证) RecordSource Recordset源(adCommandText=SQL或者其它命令"语法",adCommandTable=表名称。) (打开属性页--记录源) Tag 存储程序所需的附加数据 ToolTipText 设置该对象的提示行 Top 距容器顶部边界的距离 UserName 用户名称-支持用户名称的OLEDB提供程序。(打开属性页--身份验证) Visible 设置此对象的可见性。取值为:True 该对象可见False 该对象不可见 WhatsThisHelpID 获得或设置与对象相关联的上下文号 Width 设置该对象的宽度2023-07-12 00:28:061
vb6.0 判断连接数据库连没连上怎么写 详细看补充着急啊
如果连不上会出错的,捕捉错误不就得了?2023-07-12 00:28:262
0
你把rsnews.Source输出来看看,就是到sql哪里有问题了你这样全都带有字符串,鬼知道哪里出问题呢2023-07-12 00:28:364
vb中datagrid控件怎么更新?
加一个timer,在timer过程中重新调用一个过程。这个过程的目的是重新加载一次数据,这个方法你应该会用的吧。缺点是数据重新加载后,刚才的删除的数据的相邻数据不好找。优点是动态能直观反映数据已经被删除。如果更好的办法,请回复我。2023-07-12 00:28:452
VB 检查重复数据
dim conn as ADODB.Connectiondim rs as ADODB.Recordsetdim sql as Stringconn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;Data Source=" & sqlIp & ";Initial Catalog=" & sqlDataBase & ";User ID=" & sqlUser & ";Password=" & sqlPasswd & ";""上面的是连接数据库的,具体你自己百度查sql=select 人员编码 from 员工表 where 人员编码=Text1.textrs.CursorLocation = adUseClientrs.Open sql, conn, 1, 1if Not rs.BOF Then MsgBox "此编码已存在,请检查输入是否正确!”, vbInformation, "已存在" text2.setfocus Exit SubEnd If分拿来2023-07-12 00:28:592
VBA的CreateObject("ADODB.Recordset")是什么意思?
创建一个Ado数据库连接方式的数据集实例,就是数据表在内存中的映射。2023-07-12 00:29:081
如何在Python 中导入access 数据?
Python操作Access数据库步骤之1、建立数据库连接 import win32com.client conn = win32com.client.Dispatch(r"ADODB.Connection") DSN = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;" conn.Open(DSN) Python操作Access数据库步骤之2、打开一个记录集 rs = win32com.client.Dispatch(r"ADODB.Recordset") rs_name = "MyRecordset"#表名 rs.Open("[" + rs_name + "]", conn, 1, 3) Python操作Access数据库步骤之3、对记录集操作 rs.AddNew() rs.Fields.Item(1).Value = "data" rs.Update() Python操作Access数据库步骤之4、用SQL来插入或更新数据 conn = win32com.client.Dispatch(r"ADODB.Connection") DSN = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=C:/MyDB.mdb;" sql_statement = "Insert INTO [Table_Name] ([Field_1], [Field_2]) VALUES ("data1", "data2")" conn.Open(DSN) conn.Execute(sql_statement) conn.Close() Python操作Access数据库步骤之5、遍历记录 rs.MoveFirst() count = 0 while 1: if rs.EOF: break else: countcount = count + 1 rs.MoveNext() 注意:如果一个记录是空的,那么将指针移动到第一个记录将导致一个错误,因为此时recordcount是无效的。解决的方法是:打开一个记录集之前,先将Cursorlocation设置为3,然后再打开记录集,此时recordcount将是有效的。例如: rs.Cursorlocation = 3 # don"t use parenthesis here rs.Open("Select * FROM [Table_Name]", conn) # be sure conn is open rs.RecordCount # no parenthesis here either2023-07-12 00:29:251
SQL UPDATE 错误
兄弟你的数据库连接可能没关你先看下是不是不是再叫2023-07-12 00:29:343
asp中if错误
·else response.Redirect应该写到两行上不能写到一行上即写成elseresponse.Redirect("XXXX")end if帮你改写了下:<%@LANGUAGE="VBSCRIPT"%> <!--#include file="Connections/cnn.asp" --> <% Dim dl__MMzh dl__MMzh = "1" If (Request.Form("zh") <> "") Then dl__MMzh = Request.Form("zh") elseresponse.Redirect("erro.html") End If Dim dl__MMma dl__MMma = "1" If (Request.Form("ma") <> "") Then dl__MMma = Request.Form("ma") elseresponse.Redirect("erro.html") End If Dim dl Dim dl_numRows Set dl = Server.CreateObject("ADODB.Recordset") dl.ActiveConnection = MM_cnn_STRING dl.Source = "SELECT id, pass FROM play WHERE id = "" + Replace(dl__MMzh, """, """") + "" AND pass="" + Replace(dl__MMma, """, """") + """ dl.CursorType = 0 dl.CursorLocation = 2 dl.LockType = 1 dl.Open() dl_numRows = 0 If dl__MMzh = dl("id") and dl__MMma = dl("pass") Then Response.Write("<a href=") Response.Write("dlcg.asp") Response.Write("?") Response.Write((dl.Fields.Item("id").Value)) Response.Write(">") Response.Write("确认登陆") Response.Write("</a>") ElseResponse.Redirect("dl1.asp") end ifdl.Close() Set dl = Nothing %>要是还有问题,百度消息我。。。2023-07-12 00:29:411
标准表达式中数据类型不匹配(0x80040E07)是怎么回事
标准表达式中数据类型不匹配是指:rs1.CursorType = 0 rs1.CursorLocation = 2 rs1.LockType = 1这三句里有数据类型赋值错误,检查一下你的表里对应的字段,看看跟你要赋值的类型是否一致。2023-07-12 00:29:491
在VB代码中"rs.CursorLocation = adUseClient"表示什么意思?请详细分析回答,尽快!多谢!
表示游标类型 是存储在客户机的内存中就是你的RS记录集是存在客户端的内存中2023-07-12 00:30:122
rs.CursorLocation=3 是什么意思
游标类型比如服务器端、客户端、动态、静态等。2023-07-12 00:30:202
在VB中 如何 判断SQL中是否有该表
and exists(select * from Table)2023-07-12 00:30:294
vb如何连接sql数据库
用ADO吧2023-07-12 00:30:397
VB怎么连接MSSql数据库?
要连接SQL数据库有两种方法用ADODC或ADO。方法一:(ADODC)首先须引用Projects-Components-MicrosoftADODataControls6.0(OLEDB)。之后在表单设置ADODC控件。然后Form_Load()输入以下代码:PrivateSubForm_Load()ADODC1.ConnectionString="Provider=SQLOLEDB;Password=密码;PersistSecurityInfo=False;UserID=用户名;InitialCatalog=数据库名;DataSource=服务器名"ADODC1.CommandType=adCmdTextADODC1.RecordSource="select*from表格名称"ADODC1.RefreshEndSub方法二:(ADO)首先须引用Projects-References-MicrosoftActiveXDataObjects2.0Library。注意以下两段须写在程式最上面(Gerenal一般)中。DimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimSQLAsString然后在Form_Load()输入以下代码:PrivateSubForm_Load()cn.ConnectionString="Provider=SQLOLEDB;Password=密码;PersistSecurityInfo=False;UserID=用户名;InitialCatalog=数据库名;DataSource=服务器名"cn.OpenIfrs.State=adStateOpenThenrs.Closers.CursorLocation=adUseClientSQL="select*from表格名"rs.OpenTrim$(SQL),cn,adOpenKeyset,adLockPessimisticEndSub2023-07-12 00:31:331
在SQL Server里面怎么插入记录?
Private Sub 入库_click()"默认你的后面的textbox的名称就是前面的名称"这里的数据类型可能要转换,比如价格可能要转换成double(CDbl()),购买日期转行成日期时间型(CDate())"假设你的数据表是aa,字段名和界面显示是一样的 Dim Rs As ADODB.Recordset "在插入前建议你在aa表里查查这条记录是否已经存在,如果已经存在则给出提示(查询条件看你怎么设置的主键了) Rs = objADO.GetRs("insert into aa (书名,定价,作者,图书类别,出版社,介质,购买日期,内容简介) values (" & 书名.Text & "," & vbCrLf & _ "定价.text & ", " & 作者.text & ", " & 图书类别.text & ", " & 出版社.text & ", " & 介质.text & ", " & 购买日期.text & ", " & 内容简介.text & ") "这里如果表aa的字段多于界面显示的也没关系,只会给你aa后面括号里的字段赋值,这里后面values的顺序必须和前面的对应 "正确插入后建议给个提示,同时看看有没有必要把界面的所有值清空(图书类别.text = "") "这里的objADO建议这么定义Public objADO As SqlServer,有别的查询也可以直接用,你自己怎么定义的就换成你自己的 "GetRs的定义在下面,你也可能是dim strsql as string,然后strsql = (上面的插入语句),然后用下面Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly的方法,都行的,就看你自己怎么写的了End SubPublic Function GetRs(ByVal strSql As String) As ADODB.Recordset "通过执行SQL语句返回记录集 Dim Rs As ADODB.Recordset On Error GoTo Err0 If Not OpenDB Then Exit Function End If Set Rs = New ADODB.Recordset Rs.CursorLocation = adUseClient "使用本地(客户端)游标,这样Rs.RecordCount属性才能正确返回记录集行数 DoEvents Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly Set GetRs = Rs Exit Function Err0: If InStr(1, Err.Description, "通讯链接失败") > 0 Then Set Conn = New ADODB.Connection LocalStat = "断开" "设置本地数据库连接状态 End If MsgBox Err.DescriptionEnd Function2023-07-12 00:32:161
在VB中参数类型不正确,或不在可以接受的范围之内,或与其他参数冲突
除LS指出的错误外,还包含Dim str As New ADODB.RecordsetSet str = New ADODB.Recordset重复了。2023-07-12 00:32:233
在SQL Server中怎么入库
Private Sub 入库_click()"默认你的后面的textbox的名称就是前面的名称"这里的数据类型可能要转换,比如价格可能要转换成double(CDbl()),购买日期转行成日期时间型(CDate())"假设你的数据表是aa,字段名和界面显示是一样的 Dim Rs As ADODB.Recordset "在插入前建议你在aa表里查查这条记录是否已经存在,如果已经存在则给出提示(查询条件看你怎么设置的主键了) Rs = objADO.GetRs("insert into aa (书名,定价,作者,图书类别,出版社,介质,购买日期,内容简介) values (" & 书名.Text & "," & vbCrLf & _ "定价.text & ", " & 作者.text & ", " & 图书类别.text & ", " & 出版社.text & ", " & 介质.text & ", " & 购买日期.text & ", " & 内容简介.text & ") "这里如果表aa的字段多于界面显示的也没关系,只会给你aa后面括号里的字段赋值,这里后面values的顺序必须和前面的对应 "正确插入后建议给个提示,同时看看有没有必要把界面的所有值清空(图书类别.text = "") "这里的objADO建议这么定义Public objADO As SqlServer,有别的查询也可以直接用,你自己怎么定义的就换成你自己的 "GetRs的定义在下面,你也可能是dim strsql as string,然后strsql = (上面的插入语句),然后用下面Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly的方法,都行的,就看你自己怎么写的了End SubPublic Function GetRs(ByVal strSql As String) As ADODB.Recordset "通过执行SQL语句返回记录集 Dim Rs As ADODB.Recordset On Error GoTo Err0 If Not OpenDB Then Exit Function End If Set Rs = New ADODB.Recordset Rs.CursorLocation = adUseClient "使用本地(客户端)游标,这样Rs.RecordCount属性才能正确返回记录集行数 DoEvents Rs.Open strSql, Conn, adOpenStatic, adLockReadOnly Set GetRs = Rs Exit FunctionErr0: If InStr(1, Err.Description, "通讯链接失败") > 0 Then Set Conn = New ADODB.Connection LocalStat = "断开" "设置本地数据库连接状态 End If MsgBox Err.DescriptionEnd Function2023-07-12 00:32:311
怎样用VB创建一个带密码,表,字段 的数据库
"引用对象库“Microsoft ActiveX Data Objects 2.8 Library”"引用对象库“Microsoft ADO Ext 2.8. For DDL Security”,简称为ADOX Dim cat As New ADOX.Catalog Dim pstr As String pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" pstr = pstr & "Data Source=" & App.Path & "dat.mdb" pstr = pstr & ";Jet OLEDB:Database Password=123" cat.Create pstr "创建数据库Dim cat As New ADOX.Catalog "不用cat用另外一个名字也可以 Dim pstr As String Dim tb1 As New Table pstr = "Provider=Microsoft.Jet.OLEDB.4.0;" "不能把这里的4.0改为3.51 pstr = pstr & "Data Source=" & App.Path & "dat.mdb" pstr = pstr & ";Jet OLEDB:Database Password=123" cat.ActiveConnection = pstr tb1.Name = "学生信息" "表的名称 tb1.Columns.Append "姓名", adVarWChar, 20 "表的第一个字段 tb1.Columns.Append "年龄", adInteger "表的第二个字段 tb1.Columns.Append "性别", adVarWChar, 2 "表的第三个字段 tb1.Columns.Append "出生年月", adDate "表的第四个字段 cat.Tables.Append tb1 "建立数据表Dim conn As ADODB.Connection "conn为连接Dim rs As New ADODB.Recordset "rs为记录集Dim sql As StringSet conn = CreateObject("adodb.connection")conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path + "dat.mdb" & ";Jet OLEDB:Database Password=123" "打开数据源sql = "select * from 学生信息 "rs.CursorLocation = adUseClientrs.Open sql, conn, adOpenKeyset, adLockPessimistic"rs.MoveLastrs.AddNew "往表中添加新记录rs.Fields(0).Value = "李振"rs.Fields(1).Value = 22rs.Fields(2).Value = "男"rs.Fields(3).Value = #6/8/1984#rs.Updaters.Closeconn.Close2023-07-12 00:32:401
vba如何查询oracle
建立与Oracle的连接,不过很少有这样做的2023-07-12 00:33:072
用vb打开数据库,rd1.curorlocation=aduseclient什么意思
我是做任务的~~~~~2023-07-12 00:33:153
VB怎么连接MSSql数据库?
不用那么麻烦吧。直接用ADODC控件。。里的属性设置一下就能连接上。语句一般是用不到。2023-07-12 00:33:234
VB怎么连接SQL Server数据库?
要连接SQL数据库有两种方法用ADODC或ADO.方法一: (ADODC)首先须引用Projects-Components-Microsoft ADO Data Controls 6.0 (OLEDB).之后在表单设置ADODC控件。然后Form_Load()输入以下代码:Private Sub Form_Load()ADODC1.ConnectionString = "Provider=SQLOLEDB;Password=密码;Persist Security Info=False;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名" ADODC1.CommandType = adCmdTextADODC1.RecordSource = "select * from 表格名称"ADODC1.RefreshEnd Sub方法二: (ADO)"首先须引用Projects-References-Microsoft Active X Data Objects 2.0 Library."*注意以下两段须写在程式最上面(Gerenal一般)中。Dim cn As New ADODB.ConnectionDim rs As New ADODB.RecordsetDim SQL As String"然后在Form_Load()输入以下代码:Private Sub Form_Load()cn.ConnectionString = "Provider=SQLOLEDB;Password=密码;Persist Security Info=False;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名" cn.OpenIf rs.State = adStateOpen Then rs.Closers.CursorLocation = adUseClientSQL = "select * from 表格名"rs.Open Trim$(SQL), cn, adOpenKeyset, adLockPessimisticEnd Sub2023-07-12 00:34:502
VB怎么连接 SQL 数据库?
本想给你一个回答,但非三言两语能说得清。请到书店查阅,例子多得很。2023-07-12 00:35:364
VB如何调用Access数据库?
首先,我们需要引用ADO.具体的方法是,在"工程" -- "引用" 中,找到"Microsoft ActiveX Data Object *.* Library",这里的"*.*"是指的时ADO的版本号,一般来说,应用程序或ActiveX控件都具有向下兼容性,所以我们尽可能选择比较新的版本.以确保程序在能识别旧版本Access的同时,也能识别较新版本的Access.然后我们需要在程序中创建一个对象.就好比我们在窗体上添加一个FileBox才能看到文件名一样,只有创建了ADO对象,我们才能够访问数据库.常用的对象有两个,Connection和Recordset.创建这两个对象的具体方法是:1.在引用后,使用New关键字,如 Private Conn As New ADODB.Connection Private Reco As New ADODB.Recordset2.在没引用时,用CreateObject创建对象: Dim Conn,Reco Set Conn = CreateObject("ADODB.Connection") Set Reco = CreateObject("ADODB.Recordset")创建了对象之后,下一步我们要做的就是打开数据库了.先看下面的代码,可以成功的打开数据库. Conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Main.mdb" 这句代码打开了D盘中的Main.mdb这个数据库. Connection.Open方法的第一个参数是连接代码,它将传递给系统的数据库引擎.前半部分"Provider= Microsoft.Jet.OLEDB.4.0",它表示了数据库的类型.不同的数据库可能会不同.后半句"Source=d:main.mdb"它表示了数据库所在的绝对路径.打开数据库之后,还要打开表.假如数据库中有一个表,表名为"Users",字段有两个,一个为用户名,一个为密码.那么看以下代码.1.想返回"Users"中,[用户名]为"去年烟花"的[密码] Recordset.open "Select 密码 From Users Where 用户名="去年烟花"",Connection,1,1之后我们就可以把用户输入的密码进行比较,看是否允许登录. If Recordset.eof and Recordset.bof then Msgbox "用户不存在!",16 Else If PassWord =Recordset("密码").value then msgbox "登录成功!",64 Else msgbox "密码错误!",32 End If End If Recordset.Close2.假设Admin已经成功登录系统,我们想把所有的用户名和密码都显示出来 Recordset.open "Select * From Users",Connection,1,1 这时,表已经被打开,我们就用以下代码把它显示出来. Do whlie Not Recordset.eof Print "用户名: " & Recordset("用户名").value & "密码: " & Recordset("密码").value Recordset.MoveNext Loop Recordset.Close由以上代码示例可以看出,打开表时,可以只打开其中的一个字段,也可以打开所有.第一个参数是SQL语句.Select [字段名] From 表名 [Where 条件]这里的条件可以省略.且字段名也可以用"*"来代替所有字段.需要注意的是,如果你用(1)中的方法打开,那么(2)后面显示的代码就不能再用在(1)中.因为(1)里并没有打开[用户名]字段,所以这一句Recordset("密码")就没有值存在,还有可能出错.后面的条件,可以用"="、">"、"<"等运算符.比如 "Where ID > 32".(这里假设[ID]为数字型.)这是打开的部分.第二个很重要的部分就是查询记录.数据库它并不是把所有记录全部放到一个变量中备用的.而是以"当前记录"的形式来返回一个值.所以我们想从中找到有用的信息,就必须要对信息进行定位/筛选.定位: 移动到下一条 Recordset.MoveNext 移动到上一条 Recordset.MovePrevious 移动到最后一条 Recordset.MoveLast 移动到第一条 Recordset.MoveFrist 移动到某一条 Recordset.Move Number筛选: Recordset.Find "条件"如:[用方法(2)打开表之后] Private Sub Command1_Click() Recordset.Find "用户名=" & "text1.text" If Recordset.Eof <> True Then Msgbox "该用户的密码是:" & Recordset("密码").value,64 Else Msgbox "未找到该用户的资料!",16 End If End SubMoveNext 只有当Eof不为True时,才可用,否则发生错误.而MovePrevious刚是Bof不为True时.... 而只要Eof 和 Bof中有一个不为真时,也就是说只要有一条记录时,它就可以使用.Find 方法中的条件和Open时的第一个参数中的条件表述方法是完全一致的.当在已打开的记录集中,找不到该记录时,Eof为True.找到则当前的值就是符合条件的记录.第三个部分就是添加/修改记录. 修改记录很简单,先按以上的方法找到相关记录之后,给记录赋值就可以了. 比如:[(修改密码)按方法(1)打开表之后] Recordset("密码").value = "123456" Recordset.Updata 需要注意的就是,在修改完成后,要调用Updata方法,这样修改才能生效.而添加记录则可以用以下代码来实现: Recordset.addnew Recordset("用户名").value = "Admin" Recordset("密码").value = "Admin" Recordset.Updata这里,先要调用Addnew方法,增加一条新记录,然后对这个新记录中的各字段赋值,最后再调用Updata方法.到这里就差不多了,最后说一下上面提到的几个方法.Recordset.Open SQL语句,数据源,游标类型,打开方法SQL语句不用说了,就是Select那啥的,目的就是按要求从表中返回数据 数据源就是一个打开之后的Connection对象. 去他妈的游标类型,填1就可以了 [偷笑ing] 打开方法对应了几个常数,具体哪几个可以从对象浏览器里看. 对应数值的意义: 1 只读 2 独占 3 可写 4 自已可写,别人可读Connection.open 连接代码,服务器用户名,密码 这里的连接代码就不在多说了,服务器用户名,密码只有在连接远程数据库时才用到.2023-07-12 00:37:051
VB访问局域网中的数据库
那要看你要访问的数据库的类型是怎样的sql2005如下:Dim rs As New ADODB.RecordsetDim conn As New ADODB.Connectiondim sql as stringrs.CursorLocation = adUseClientsql = "select * from table"conn.Open "Provider=SQLOLEDB.1;Password="" & PassWordStr & "";Persist Security Info=True;User ID="" & DataCount & "";Initial Catalog="" & DataBaseNameStr & "";Data Source= "" & ServerNameStr & """rs.Open sql, conncatalog ,data source,user ID,password分别改为要连接的电脑上的服务器名,数据库名,用户名,密码即可2023-07-12 00:37:142