2015-10-07 64 views
1

這裏使用ado.net是我自己寫了那麼far.There也不例外,所以我假定連接工作正常,但沒有數據被插入到數據庫表。請告訴我什麼是錯我的代碼將數據插入本地數據庫在控制檯應用程序

SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MyETL.Properties.Settings.connectionStr"].ConnectionString); 
      try 
      { 
       conn.Open(); 
       // foreach (student stu in stulist) 
       // { 
       string strQuery = "INSERT INTO Student(Sid,st_name) VALUES (@id,@name)"; 
       SqlCommand cmd = new SqlCommand(strQuery, conn); 
       cmd.Connection = conn; 
       cmd.Parameters.AddWithValue("@id", "111"); 
       cmd.Parameters.AddWithValue("@name", "nallia"); 


       cmd.ExecuteNonQuery(); 
      } 
      catch 
      { 

       conn.Close(); 
      } 
+0

你在哪裏調用這個? – Webruster

+0

爲什麼是抓conn.close,應該在最後 – XtremeBytes

+0

或可能是你有一個例外,但只是忽略它.. – XtremeBytes

回答

0

試試這個

static void Insert() 
    { 
     try 
     { 
      string connectionString =System.Configuration.ConfigurationManager.ConnectionStrings["MyETL.Properties.Settings.connectionStr"].ConnectionString; 
      using (SqlConnection conn =new SqlConnection(connectionString)) 
      { 
       conn.Open(); 
       using (SqlCommand cmd = new SqlCommand("INSERT INTO Student(Sid,st_name) VALUES (" + 
         "@id,@name)", conn)) 
       { 
        cmd.Parameters.AddWithValue("@Id", 111); 
        cmd.Parameters.AddWithValue("@Name", "nallia"); 


        int rows = cmd.ExecuteNonQuery(); 

        //rows number of record got inserted 
       } 
      } 
     } 
     catch (SqlException ex) 
     { 
      //Log exception 
      //Display Error message 
     } 
    } 
+0

我試過這個,但它仍然沒有添加任何記錄到表中。當我在調試模式下運行它時,行的值爲1,它會拋出異常。你認爲我的連接與數據庫連接嗎? – aneena

+0

我確實在服務器瀏覽器中看到了一個與數據庫交換機相連的標誌,但仍沒有插入數據......該怎麼辦? – aneena

+0

我重新啓動了我的視覺工作室,並刪除並創建了一個新的數據庫,但它仍然不起作用 – aneena

相關問題