2014-10-02 85 views
-1

我想從我的數據庫的表列中插入所有數據,但現在即時通訊只獲取一行/或簡而言之,我想要獲取所有數據列而不是隻有1行,使用此代碼IM:如何插入所有數據,而不是隻獲得1行

 Try 
    For i = 0 To dt.Rows.Count - 1 
    networkconn.Open()  
    Dim cmd As New OdbcCommand("INSERT INTO networkdatabase.table1(data,result) values('" & dt.Rows(0).Item("data").ToString & "','" & dt.Rows(0).Item("result").ToString() & "')", networkconn) 
    cmd.ExecuteNonQuery() 
    networkconn.close 
    Next 
    Catch ex As Exception 
    End Try 

這是我的表

+------------+----------+ 
| data | result | 
+------------+----------+ 
| 1234567890 | PASSED | 
| Test  | PASSED | 
| SAMPLE  | FAILED | 
| test  | FAILED | 
| GGGGGG  | PASSED | 
| 1111111111 | PASSED | 
| XXXXXXXXXX | PASSED | 
+------------+----------+ 

我的輸出

+------------+----------+ 
| data | result | 
+------------+----------+ 
| 1234567890 | PASSED | 
+------------+----------+ 

期望輸出

+------------+----------+ 
| data | result | 
+------------+----------+ 
| 1234567890 | PASSED | 
| Test  | PASSED | 
| SAMPLE  | FAILED | 
| test  | FAILED | 
| GGGGGG  | PASSED | 
| 1111111111 | PASSED | 
| XXXXXXXXXX | PASSED | 
+------------+----------+ 
+0

使用[循環](http://www.dotnetperls.com/for-vbnet) – HengChin 2014-10-02 06:05:49

+0

那麼怎麼樣:'爲每行作爲DataRow在dt.Rows'? – 2014-10-02 06:42:35

+0

我該怎麼做? – 2014-10-02 07:07:38

回答

0

你可以只是讓更多的行SQL命令。允許在一個字符串中傳遞多個命令。僅僅通過分號

INSERT INTO table values(x,y,z); 
INSERT INTO table values(x,y,z); 
INSERT INTO table values(x,y,z); 
+0

我知道這個簡單的邏輯,但我即將做我的代碼,從本地主機獲取數據,以便我使用數據表,然後傳輸到網絡服務器 – 2014-10-02 06:18:55

0

分開你要插入的每一行,在TD這樣的:

 For i = 0 To dt.rows.count - 1 
      Dim cmd As New OdbcCommand("INSERT INTO networkdatabase.table1(data,result) values('" & dt.Rows(i).Item("data").ToString & "','" & dt.Rows(i).Item("result").ToString() & "')", ServerCN) 
     Next 
+0

這是錯誤,當它將進入下一行。 – 2014-10-02 07:07:23

+0

請看我的編輯 – 2014-10-02 08:20:21

相關問題