Ⅰ 怎么使用:VB6中使用ADODC更新SQL数据库记录
Adodc1不是所有sql语句都支持,更新记录用:
Adodc1.RecordSource = "Select ... From ... Where 客户编号=" & txtNo.Text '按照客户编号查询到当前记录
Adodc1.RecordSet.Fields("客户名称") = txtName.Text '修改当前记录值
Adodc1.RecordSet.Fields("联系地址") = txtAddress.Text
。。。。
Adodc1.RecordSet.Update
Ⅱ VB 更新数据库的SQL语句
商品编号是否复int型
SQL = "update 商品制库存 set 库存数量=库存数量+" & CINT( Text13.Text )& ",库存总金额=库存总金额+" & CINT(Text7.Text) & " where 商品编号=" & Trim(Text12.Text)
这样试试吧
Ⅲ 想用VB编一个程序读取sql数据库中的内容
不同的计算机安装SQL的连接是不同的.
关于连接总结如下:
ADODB编码连接字的实例
VB中,关于SQL数据库的连接是比较复杂的,但也有一个可以参考的学习思路,方法如下。
1、建立数据库链接
在工具条中,有一个“数据视图窗口”的工具,用它可以建立各种数据库的链接。建立链接的过程:
点击“数据视图窗口”,出现“数据视图”窗体,点击选中“数据链接”,按右键,点击“添加数据链接”,出现“数据链接属性”窗口,有四个菜单:“提供程序”、“连接”、“高级”、“所有”。
选中“提供程序”菜单,这里有许多用于链接的驱动程序,选中“Microsoft OLE DB Provider for SQL Server”,点击“下一步”。“Microsoft OLE DB Provider for SQL Server”是真正的SQL数据库连接字用的驱动程序。
当选中“Microsoft OLE DB Provider for SQL Server”,点击“下一步”,则自动进入“连接”窗体界面。这个“连接”窗体界面的内容,随前面选取的驱动程序而定。
因为前面选择的是“Microsoft OLE DB Provider for SQL Server”,所以,“连接”窗体的主要内容就是直接访问SQL数据库的相关内容的设置,如下:
在“…….服务器名称”一栏中怎么选择呢?如SQL数据库服务器安装时是选择当地默认的实例,即以本地计算机名代替的服务器,则此处应填写的内容是:(local),或者是:本地的计算机名。估计,非本地的则可填写:服务器的IP地址或服务器名称。
在“输入登录服务器的信息”一栏中怎么选择呢?当选择“使用指定的用户名和密码”一项时,用户名与密码是在SQL服务器安装时选定的内容(值)。若不用密码及用户名登入,则连接字的密码应代之为:Integrate Security=SSPI,表示用“Windows NT 集成安全设置”之意,SQL2005是用这一项的。但实际的ADODB的连接字是不能用这个NT打开的。
在“服务器上选择数据库”一栏中怎么选择呢?当前面两项内容选择正确后,此处的内容是存在可选的,选中即可。
最后“测试连接”,显示成功。则在“数据视图”窗体的“数据链接”中将出现“Datelink1”,表示建立了以“Datelink1”为名的第1个数据库链接。当然也可以建立多个,名字将分别为“Datelink2”、“Datelink3”……
2、从已建立的数据库链接的属性中找连接字。
当选中“数据视图”窗体的“数据链接”,出现“Datelink1”,并选中“Datelink1”,按右键出现弹出菜单,选中“属性”,点击,并可看见这个链接所用到的名字“Name”,“Name”对应的值,就是连接字的主要内容。只是缺少“Password= ”与“ .ConnectionTimeout= ”,因此只要把这两向补齐,就是一个完整可用的ADODB的连接字,而且也适用于ADODC控件的字连接,即ConnectionString,但不需要双引号“”而已。
注意:在前面“数据链接属性”窗口的四个菜单“提供程序”、“连接”、“高级”、“所有”中,前面只重点介绍了“提供程序”与“连接”两项,实际上,“高级”就有ConnectionTimeout属性的选择项。而“提供程序”、“连接”、“高级”三项的选择结果,都在“所有”项中集中显示出来,而且“所有”项中,还有前三项不具有的其它的内容,因此,要注意察看与应用。
Command1_Click()
Me.Caption = "NAME"
Me.Cls
Dim con As ADODB.Connection (注:ADODC控件用的申明,不用ADODB,也不用Adodc。)
Dim rs As New ADODB.Recordset
Set con = New ADODB.Connection
con.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=SQL数据库名;Data Sure=(local);Password=密码值(注:无时不选此项);Use Procere for preplare=1;Auto Translate=True;Packet Size = 4096;Workstation ID=(local)(注:或是局域网的机器名);Use Encryption for Date=False;Tag With column collation when Possible=False"
con.Open
rs.Open "Select * from SQL数据库表或视图名 ", con
Me.AutoRedraw = True
rs.MoveFirst
Dim ptr As Integer
For ptr = 0 To 20
Print rs.Fields(ptr).Name, 注:Name表示是表格的列名。
Next ptr
While Not rs.EOF()
Print
For ptr = 0 To 20
Print rs.Fields(ptr).Value, 注:Value表示是表格的数值。
Next ptr
rs.MoveNext
Wend
End Sub
用ADODC方法更简单:
在窗口中建立:Command1,CAdodc1及DataDrid1,设置好CAdodc1的连接属性,见前所述.
Command1_Click()
Me.Caption = "NAME"
Me.Cls
Set DataDrid1=Adodc1
End Sub
Ⅳ 在VB中,怎样对SQL数据库里面的数据进行操作
方法1,
建立一个模块
将工程的启动设置为 SUB MAIN
在模块里写下面代码
Public db As Database
Public rs As Recordset
Sub main()
set db=db.opendatabase("数据库路径"<建议用相对路径--就是把数据库文件和工程文件放在同一目录下--相对路径就是APP.PATH+"数据库名带后缀">)
第一启动窗体<比如:form1>.show
end sub
以后在其他窗体中如果要调用数据库只用在窗体中写代码
set rs=openrecordset(<可以是数据库的表--如"student",也可以是查询语句--如"select* form student">)
这时数据库的内容都存在FILE集合里
比方说set rs=openrecordset("select* form student")
rs.file(0)就是SQL语句查询结果的第一列
rs.files就是整个结果
使用text1.text=rs.file(0)就可以把文本框于查询结果帮定起来
如果要对数据库进行修这时用以下代码:
db.Execute (<SQL语句--如"insert into student(sno,sname) value("","")">)
方法2,
工程--部件--选择microsoft data bound grid control 5.0
然后在窗体中添加左边工具栏的 DATA 和DBGRID 控件
选择DBGRID 将属性DATASOURCE 设置为DATA控件的名字(如DATA1)
然后选择DATA 将属性CONNECT设置为ACCESSS 2000
设置DATABASENAME 选择数据库的存放路径
最后设置RECORDSET 为需要连接的表的名字
运行就可以看到 DATAGRID中显示了数据库的信息
Ⅳ 用vb怎么连接SQL数据库
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\你数据库的名称"
Dim strquery As String
strquery = "select * from Table_Users where 用户名='" & Trim(Text1.Text) & "'and 密码= '" & Trim(Text2.Text) & "'"
Adodc1.RecordSource = strquery
Adodc1.Refresh
这样应该就ok了 希望能帮到你
Ⅵ 如何用VB实现对sql 数据表的更新
你的创建一个数据库连接对象,如adodb库中command对象、recordset对象
使用command对象,必须要adodb.connection对象,详细语法查adodb帮助
可以使用
command.execute "update score set scores=scores+" & text2.text & " where number=" & text1.text
完成更新
附示例:
Public Sub ExecuteX()
Dim strSQLChange As String
Dim strSQLRestore As String
Dim strCnn As String
Dim cnn1 As ADODB.Connection
Dim cmdChange As ADODB.Command
Dim rstTitles As ADODB.Recordset
Dim errLoop As ADODB.Error
' Define two SQL statements to execute as command text.
strSQLChange = "UPDATE Titles SET Type = " & _
"'self_help' WHERE Type = 'psychology'"
strSQLRestore = "UPDATE Titles SET Type = " & _
"'psychology' WHERE Type = 'self_help'"
' Open connection.
strCnn = "Provider=sqloledb;" & _
"Data Source=srv;Initial Catalog=Pubs;User Id=sa;Password=; "
Set cnn1 = New ADODB.Connection
cnn1.Open strCnn
' Create command object.
Set cmdChange = New ADODB.Command
Set cmdChange.ActiveConnection = cnn1
cmdChange.CommandText = strSQLChange
' Open titles table.
Set rstTitles = New ADODB.Recordset
rstTitles.Open "titles", cnn1, , , adCmdTable
' Print report of original data.
Debug.Print _
"Data in Titles table before executing the query"
PrintOutput rstTitles
' Clear extraneous errors from the Errors collection.
cnn1.Errors.Clear
' Call the ExecuteCommand subroutine to execute cmdChange command.
ExecuteCommand cmdChange, rstTitles
' Print report of new data.
Debug.Print _
"Data in Titles table after executing the query"
PrintOutput rstTitles
' Use the Connection object's execute method to
' execute SQL statement to restore data. Trap for
' errors, checking the Errors collection if necessary.
On Error GoTo Err_Execute
cnn1.Execute strSQLRestore, , adExecuteNoRecords
On Error GoTo 0
' Retrieve the current data by requerying the recordset.
rstTitles.Requery
' Print report of restored data.
Debug.Print "Data after executing the query " & _
"to restore the original information"
PrintOutput rstTitles
rstTitles.Close
cnn1.Close
Exit Sub
Err_Execute:
' Notify user of any errors that result from
' executing the query.
If rstTitles.ActiveConnection.Errors.Count >= 0 Then
For Each errLoop In rstTitles.ActiveConnection.Errors
MsgBox "Error number: " & errLoop.Number & vbCr & _
errLoop.Description
Next errLoop
End If
Resume Next
End Sub
Public Sub ExecuteCommand(cmdTemp As ADODB.Command, _
rstTemp As ADODB.Recordset)
Dim errLoop As Error
' Run the specified Command object. Trap for
' errors, checking the Errors collection if necessary.
On Error GoTo Err_Execute
cmdTemp.Execute
On Error GoTo 0
' Retrieve the current data by requerying the recordset.
rstTemp.Requery
Exit Sub
Err_Execute:
' Notify user of any errors that result from
' executing the query.
If rstTemp.ActiveConnection.Errors.Count > 0 Then
For Each errLoop In Errors
MsgBox "Error number: " & errLoop.Number & vbCr & _
errLoop.Description
Next errLoop
End If
Resume Next
End Sub
Public Sub PrintOutput(rstTemp As ADODB.Recordset)
' Enumerate Recordset.
Do While Not rstTemp.EOF
Debug.Print " " & rstTemp!Title & _
", " & rstTemp!Type
rstTemp.MoveNext
Loop
End Sub
不能直接用,因为数据库环境不同,稍微修改下就可以了,不过之前你最好看下ADODB手册,网上有。
是工程->引用中 Microsoft ActiveX Data Objects x.x Library
也可以使用工具栏中->部件中 Microsoft ADO DataControl x.x(OLEDB)
他们区别在于一个是控件,一个是函数库,若是熟悉点的人都用Library,添加DataControl时VB会自动添加Library,DataControl实际还是通过Library处理的。你要是不熟悉就用DataControl吧,有图形界面你可能容易上手些。QQ群2832109里有ADO帮助。
你的代码中conn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID= sa;password=;Initial Catalog=public;Data Source=."
“Data Source” 要指定数据源
cnn.Execute 也可以执行命令 可你的命令只是个查询是不返回结果的。
Ⅶ VB6 同步显示数据库内容
使用
Private withevents rs as adodb.redordset
看看rs的事件列表
发现WillChangeField and FieldChangeComplete Events
这两个事件可以跟踪表的变化
参考MSDN:
http://msdn.microsoft.com/en-us/library/ms675821(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms678373(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/ms680919(v=VS.85).aspx