2011-03-29 227 views
0

我想在VB中插入表格中的一些字段。但它沒有給出任何結果。如何在VB中插入表格

Dim a As String 
a = s_up.Text1.Text 
Dim b As String 
b = s_up.Text2.Text 
Set rs = Nothing 
rs.Open "insert into profile (user_name,first_name) values(' " & a & " ',' " & b & " ') ", cn, adOpenKeyset, adLockOptimistic 
+0

這裏執行語句在這裏 – Dotnet 2011-03-29 08:05:58

+1

[你不想這樣做](http://bobby-tables.com/ )。 – Bobby 2011-03-29 08:09:21

+0

如果你有連接「cn」打開,那麼你可以嘗試 cn.execute「insert into profile(user_name,first_name)values(''&a&'','」&b&'')「 – DevelopmentIsMyPassion 2013-01-21 14:30:10

回答

0

假設你已經設置了ADO對象較早,在打開該結果可能設置之前將其設置爲Nothing是不是一個好主意。嘗試刪除此行以查看是否有幫助。即

Dim a As String 
a = s_up.Text1.Text 
Dim b As String 
b = s_up.Text2.Text 
rs.Open "insert into profile (user_name,first_name) values(' " & a & " ',' " & b & " ') ", cn, adOpenKeyset, adLockOptimistic 

唉,這種方法不是最安全的。閱讀有關避免SQL注入的最佳實踐。

+0

我假設記錄集被聲明爲'Private rs As New ADODB.Recorset'。 – onedaywhen 2011-03-29 09:28:26

+0

@trickwallett:不知道你在哪裏執行語句? – DevelopmentIsMyPassion 2013-01-21 14:17:05

0

您的SQL代碼不會返回結果集,因此結果應該是實例化的記錄集,但是與State = adStateClosed一樣,所以您將無法使用它,例如,沒有行也沒有字段,不能測試RecordCount和EOF等。