2011-01-11 266 views
0

我有以下代碼插入問題

public class BaseController : Controller 
{ 
    SqlConnection con; 
    DataSet dsl; 
    SqlDataAdapter da; 

    public ActionResult Index() 
    { 
     con = new SqlConnection(); 
     dsl = new DataSet(); 
     con.ConnectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\tbl.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"; 

     con.Open(); 

     string sql = "SELECT * From tbl_fb"; 
     //string sql = "INSERT INTO tbl_fb (Ime) VALUES ('aaa3')"; 
     da = new SqlDataAdapter(sql, con); 
     da.Fill(dsl, "fb"); 

     SqlCommandBuilder cb; 
     cb = new SqlCommandBuilder(da); 

     DataRow dRow = dsl.Tables["fb"].NewRow(); 
     dRow[1] = "some text"; 
     dsl.Tables["fb"].Rows.Add(dRow); 

     da.Update(dsl, "fb"); 
    } 
} 

此代碼,應該保存「aaa3」串「IME」行。或者排列爲1(這是Ime - 第二行)的「某些文本」字符串。

但它不工作。有人知道爲什麼。我試過this tutorial

謝謝。

+0

任何錯誤?異常?你有沒有跟蹤,發生了什麼?所有比「但它不工作」更有用的信息。 – RPM1984 2011-01-11 11:23:03

+0

沒有錯誤,沒有例外,似乎都很好 – Sebastjan 2011-01-11 11:30:45

回答

1

他仍然需要執行命令對象。然而,第二位看起來很奇怪...

與tbl_fb像更換FB:

DataRow dRow = dsl.Tables["tbl_fb"].NewRow(); 
dRow[1] = "some text";    
dsl.Tables["tbl_fb"].Rows.Add(dRow);    
da.Update(dsl, "tbl_fb"); 
1

當你像創建DataAdapter對象時,只設置了SelectCommand屬性。 DataAdapter對象中沒有UpdateCommand或InsertCommand setuped用於更新數據庫中的數據。 這樣做:

da.UpdateCommand = new SqlCommand(sqlUpdateQuary) 
da.InsertCommand = new SqlCommand(sqlUpdateQuary)