2012-03-22 109 views
-1

我試圖將數據插入到MySQL數據庫,我創建了下面的方法,這樣我就可以通用,因爲我將要需要插入大量的數據到數據庫中,插入數據到MySQL

數據庫在本地主機上

這是我創建的方法,它正在像這樣使用。

 public void QueryBuilder(string command, string table, string[] columns, object[] values) 
    { 
     string insertStatement = command + " INTO " + table + "("; 

     foreach (string column in columns) 
     { 
      insertStatement = insertStatement + column + ","; 
     } 

     insertStatement = insertStatement.Remove(insertStatement.Length - 1) + ") VALUES ("; 

     int countParam = 1; 
     string[] paramList = new string[values.Length]; 

     foreach (object val in values) 
     { 
      string paramName = "@param" + countParam; 
      paramList[countParam - 1] = paramName; 
      countParam++; 
      insertStatement = insertStatement + paramName + ","; 
     } 

     insertStatement = insertStatement.Remove(insertStatement.LastIndexOf(',')) + ")"; 

     MySqlCommand com = new MySqlCommand(insertStatement, register.connection); 

     for (int i = 0; i < paramList.Length; i++) 
     { 
      com.Parameters.AddWithValue(paramList[i], values[i]); 
     } 
    } 

這是它是如何被稱爲

  rg.DatabaseConnection("localhost","root"," ","login"); 

     rg.Open(); 

     object[] myobj = new object[2]; 

     myobj[0] = username1; 
     myobj[1] = password1; 


     string[] mystring = new string[2]; 

     mystring[0] = "username"; 
     mystring[1] = "password"; 

     QueryBuilder("INSERT","users",mystring,myobj); 

     rg.Close(); 

有些HLP將是巨大的,因爲我不知道是怎麼回事錯....

的問題是,有沒有了Syntex錯誤但數據沒有被插入到數據庫中?

感謝和問候.. :)

+1

什麼是錯誤?你需要哪些代碼的一部分幫助? – SkonJeet 2012-03-22 13:39:32

+3

您可能想在構建它之後執行查詢。 – 2012-03-22 13:40:33

+0

爲什麼投票? – 2013-07-09 13:10:41

回答

1

對於初學者來說,加

com.ExecuteNonQuery(); 

在你的QueryBuilder方法結束(或者返回的命令對象,然後,如果你想保留執行它函數爲「QueryBuilder」而不是「QueryBuilderAndExecuter」)。