我刚学vb.问几个问题.不要笑我......因为我很菜.请回复是尽量附上源码.谢谢了我用vb连接sql server.基本的连接方法我以明白是
  Dim iRe As ADODB.Recordset
    Dim iConc As String
  iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & "User ID=aaa;Password=aaa;Initial Catalog=baobao;Data Source=pc"
        
    '打开表
    Set iRe = New ADODB.Recordset
    iRe.Open "test", iConc, adOpenKeyset, adLockOptimistic
    
    '进行操作
    With iRe
        '新增一条记录
        .AddNew
        .Fields("ID") = "111"
        .Save
        
        '移动到第一条记录,并读取该记录nameid的值
        .MoveFirst
        MsgBox .Fields("ID")
        
        '删除第一条记录
        .MoveFirst
        .Delete adAffectCurrent
    End With
    
    '关闭连接
    iRe.Close
    Set iRe = Nothing
'  列名    数据类型    长度   允许空行
'  ID       varchar     10     否
'  Item    varbinary    1000    是
'  Number   int       4      是
'  Date    smalldatetime  4      是
'  Version   tinyint     1      是
'  PassWord  smallint     2      是下面我得问题来了:
1.已知ID内有1.2.3.4.5.......等等
我想实现找到ID号.然后读取这一行的数据信息到vb里.然后我修改后的内容在写回原来的位置.
2.我在本机编写的拿到客户机上它的读主机sql server语句应该怎样写
3.如何实时获得数据库服务器名的列表,和数据库名的列表.还有表格....
4.用vb怎样创建sql的表格.
5.查询功能怎样做到.

解决方案 »

  1.   

    1.以id=5為例
    sql="select * from tb where id=5"
    修改后
    sql="update tb set item='aa',number=100... where id=5"
    如果新增記錄﹐你最好不要用.addnw方法﹐用sql="insert into tb(item,number,...) values('aaas',100.....)"
      

  2.   

    我用你的方法,sql="update tb set item='aa',number=100... where id=5",运行后.数据库没变化啊.
    还有我查到ID=5怎样显示出来.能帮我写出源码吗...
      

  3.   

    2.iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & "User ID=aaa;Password=aaa;Initial Catalog=baobao;Data Source=pc"
    该句中的data source参数值设置为服务器的ip地址就可以在客户端访问服务器
      

  4.   

    5.查询功能怎样做到.
    这个问题太笼统了,
    Set iRe = New ADODB.Recordset
        iRe.Open "select * from test", iConc, adOpenKeyset, adLockOptimistic
    这个本身就是一个查询语句
      

  5.   

    楼主首先要明白后台数据库和vb前台应用程序的关系:
    1,后台数据库用于处理和保存数据的
    2.前台程序用于处理数据,获得后台数据处理结果和显示结果,显示记录集可以使用网格控件,如datagrid,listview,msflexgrid等!
      

  6.   

    谢谢.假如我用vb6自带的DataGrid1.那该怎样连接呢.
      

  7.   

    Dim mCon As New ADODB.Connection
    mCon.Open iConc
    mCon.Execute "Update YourTable Set Item = 12,Number = 98, [Date] = '" & "1999-09-09',Version = 7 ,[PassWord] = 11 Where [ID] = '" & "5'"
    mCon.Close
    Set mCon = Nothing
      

  8.   

    //谢谢.假如我用vb6自带的DataGrid1.那该怎样连接呢.//
    拉一个datagrid到窗体,然后
    set datagrid.datasource=iRe
     即可
      

  9.   

    Dim iRe As New ADODB.Recordset
        Dim iConc As String
        iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & "User ID=aaa;Password=aaa;Initial Catalog=baobao;Data Source=pc"
        iRe.CursorLocation = adUseClient
        iRe.Open "Select * From YourTable", iConc, adOpenKeyset, adLockOptimistic
        Set DataGrid1.DataSource = iRe
      

  10.   

    我的意思就是查询ID字段内的数字.返回到当前的运行程序.(只显示我查找到的).如果是单条记录最好能显示到Text控件里.就是ID显示到text1里.Item显示到text2里.Number显示到text3里......然后我修改text里的数值.或字符就可以保存到原来ID所在的行里边...
    再这里我向那些回帖的前辈门表示感谢......我承认我很菜.但是我确实很想学...
      

  11.   

    回答你第一个问题:(以你查找Id字段值为123为例)
      Dim iRe As ADODB.Recordset
        Dim iConc As String
      iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & "User ID=aaa;Password=aaa;Initial Catalog=baobao;Data Source=pc"
            
        '打开表
        Set iRe = New ADODB.Recordset
        iRe.Open "select * from test where [id]='123'", iConc, adOpenKeyset, adLockOptimistic
        if iRe.eof then
            msgbox "没有该记录"
        else
            '加载字段值到控件 
            text1.text=iRe.fields("id") 'text1控件最好设置为不可编辑
            text2.text=iRe.fields("item")
            text3.text=iRe.fields("Number")
        end if    '修改text2和text3的值后,想保存到数据库里
        iConc.execute "update test set item='" & text2.text & "',number=" & text3.text & " where [id]='" & text1.text &"'"  '写入数据库
      

  12.   

    '窗体上有4个CommandButton、1个DataGrid
    '工程->引用Microsoft ActiveX Data Objects 2.x Library
    Option Explicit
        Public iConc As String
        Dim iRe As New ADODB.RecordsetPrivate Sub Command1_Click()     '显示记录
        iRe.CursorLocation = adUseClient
        iRe.Open "Select * From YourTable", iConc, adOpenStatic, adLockBatchOptimistic, adCmdText
        Set DataGrid1.DataSource = iRe   '把iRe记录集赋给DataGrid1的数据源
    End SubPrivate Sub Command2_Click()    '保存
    On Error Resume Next
        iRe.UpdateBatch
    End SubPrivate Sub Command3_Click()    '新增
        iRe.AddNew
    End SubPrivate Sub Command4_Click()    '删除
    On Error Resume Next
        iRe.Delete
    End SubPrivate Sub Form_Load()
        iConc = iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & "User ID=aaa;Password=aaa;Initial Catalog=baobao;Data Source=pc"
    End SubPrivate Sub Form_Unload(Cancel As Integer)
        If iRe.State = adStateOpen Then
            iRe.Close
            Set iRe = Nothing
        End If
    End Sub
      

  13.   

    对不起,笔误,改一下:
    Private Sub Form_Load()
        iConc = "Provider=SQLOLEDB.1;Persist Security Info=True;" & "User ID=aaa;Password=aaa;Initial Catalog=baobao;Data Source=pc"
    End Sub
      

  14.   

    data  source参数值设置为服务器的ip地址就可以在客户端访问服务器  
    我在本机使用时data  source设置为127.0.0.1和本机IP时都无效.
    是不是只在客户机上设置有效?
    假设我的IP是192.168.0.1
    在开放端口的情况下.那么客户机上data  source就应改设置为192.168.0.1?是下面这样写吗
    客户机上是:iConc  =    "Provider=SQLOLEDB.1;Persist  Security  Info=True;  "  &    "User  ID=aaa;Password=aaa;Initial  Catalog=baobao;Data  Source=192.168.0.1
      

  15.   

    来自:http://www.connectionstrings.com/SQLServer:Standard Security:"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"  Trusted Connection:"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;" 
    (use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000)
     Prompt for username and password:oConn.Provider = "sqloledb"
    oConn.Properties("Prompt") = adPromptAlways
    oConn.Open "Data Source=Aron1;Initial Catalog=pubs;"  Connect via an IP address:"Provider=sqloledb;Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=pubs;User ID=sa;Password=asdasd;" 
    (DBMSSOCN=TCP/IP instead of Named Pipes, at the end of the Data Source is the port to use (1433 is the default))
      

  16.   

    建议先看看SQL操作语句之类的书籍了,不要吝惜那点时间~