首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

用VB6编写更新SQL数据库的数据不成,为何?解决方案

2012-02-03 
用VB6编写更新SQL数据库的数据不成,为何?我用VB6.0編寫更新SQL資料庫資料的程式,為什麼老是提示rs.Edit一

用VB6编写更新SQL数据库的数据不成,为何?
我用VB6.0編寫更新SQL資料庫資料的程式,為什麼老是提示rs.Edit一句出錯,錯誤是Edit未找到方法或資料成員?程式和注釋如下:
Private   Sub   cmdEdit1_Click()                                        

    Dim   conn   As   New   adodb.Connection
    Dim   rs   As   New   adodb.Recordset
   
    Set   conn   =   New   adodb.Connection
   
    Set   rs   =   CreateObject( "adodb.recordset ")

    conn.ConnectionString   =   "Driver={SQL                    Server};server=XICHEN;uid=sa;pwd=1234;database=disc "
    conn.Open
    rs.Open   "select   *   from   disc_name   ",   conn,   adOpenForwardOnly,   adLockReadOnly        
 
    Dim   Result()   As   String
    Dim   EditID   As   String
     
   
    Result   =   Split(List2.Text,   ", ")                   ‘List2是一個列表框,有形如1,aa                '和2,bb及3,cc這樣的資料,Result就是取1,2或3
    EditID   =   Result(0)                                     ‘   把1,2,或3賦給EditID
 
   
 
   
      rs.MoveFirst
    Do   While   Not   rs.EOF
        If   rs.Fields( "disc_name_id ").Value   =   EditID   Then         ‘rs.Fields                      '( "disc_name_id ")是disc_name表的第一個欄                    位。
                                                                                                            '   該句的意思是找到Id                             ' 為EditID的記錄。
              rs.Edit                                                                                     ‘   開始更新,這裏出                                 '錯
              rs.Fields( "discname ").Value   =   Text4.Text                             ‘   rs.Fields                           '( "discname ")是disc_name表                          '的第二個欄位,將這個欄位                          '的值改成Text4裏輸入的值
              rs.Update
             
              Debug.Print   "discname= "   &   rs.Fields( "disc_name ").Value
             
              Exit   Do
        End   If
        rs.MoveNext


    Loop
   
    MsgBox   "已成功修改盤名稱! "
   
    rs.Close
   
End   Sub


[解决办法]
更有效率的方法:
 Dim conn As New adodb.Connection
Set conn = New adodb.Connection

conn.ConnectionString = "Driver={SQL Server}; "_
& "server=XICHEN;uid=sa;pwd=1234;database=disc "
conn.Open


Dim Result() As String
Dim EditID As String


Result = Split(List2.Text, ", ") ‘List2是一個列表框,有形如1,aa                '和2,bb及3,cc這樣的資料,Result就是取1,2或3
EditID = Result(0)

conn.execute "update disc_name set discname= ' "& trim(Text4.Text) & " ' " _
& " where disc_name_id= ' "& EditID & " ' "

set conn=nothing

热点排行