2013-01-09 82 views
1

我已经使用此link找出如何做到这一点。但我的问题是它不起作用。这是我的代码:错误插入数据集数据到数据库表

public void UpdateDatabase(DataSet data, string tableName) 
{ 
    string connectionString = ConfigurationManager.ConnectionStrings["TestDbOnBrie"].ConnectionString; 
    using (SqlConnection connection = new SqlConnection(connectionString)) 
    { 
     try 
     { 
      connection.Open(); 
      using (SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM dbo.TransportSchedule_Customer;", connection)) 
      { 
       using (SqlCommand updateCmd = new SqlCommand("UPDATE dbo.TransportSchedule_Customer SET [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected] WHERE [email protected] AND [email protected]", connection)) 
       { 
        updateCmd.Parameters.Add("@CustID", SqlDbType.VarChar, 50, "CustID"); 
        updateCmd.Parameters.Add("@AdrID", SqlDbType.Int, 50,"AdrID"); 
        updateCmd.Parameters.Add("@Alias", SqlDbType.VarChar, 50, "Alias"); 

        updateCmd.Parameters.Add("@DeliveryDays1", SqlDbType.VarChar, 50, "DeliveryDays1"); 
        updateCmd.Parameters.Add("@DeliveryHours1", SqlDbType.VarChar, 50, "DeliveryHours1"); 
        updateCmd.Parameters.Add("@DeliveryType1", SqlDbType.VarChar, 50, "DeliveryType1"); 

        updateCmd.Parameters.Add("@DeliveryDays2", SqlDbType.VarChar, 50, "DeliveryDays2"); 
        updateCmd.Parameters.Add("@DeliveryHours2", SqlDbType.VarChar, 50, "DeliveryHours2"); 
        updateCmd.Parameters.Add("@DeliveryType2", SqlDbType.VarChar, 50, "DeliveryType2"); 

        updateCmd.Parameters.Add("@DeliveryDays3", SqlDbType.VarChar, 50, "DeliveryDays3"); 
        updateCmd.Parameters.Add("@DeliveryHours3", SqlDbType.VarChar, 50, "DeliveryHours3"); 
        updateCmd.Parameters.Add("@DeliveryType3", SqlDbType.VarChar, 50, "DeliveryType3"); 

        updateCmd.Parameters.Add("@Alias", SqlDbType.VarChar, 50, "Alias"); 

        adapter.UpdateCommand = updateCmd; 
       } 
      } 
     } 
     catch (Exception exception) 
     { 
      Console.WriteLine("ERROR in UpdateDatabase() method. Error Message : " + exception.Message); 
     } 
     finally 
     { 
      if (connection.State == System.Data.ConnectionState.Open) 
      { 
       connection.Close(); 
      } 
     } 
    } 
} 

代码运行没有任何错误,但我的数据库表不会与新的信息进行更新。我可以看到数据集具有从我的Excel文件中检索的正确信息。谁能帮忙?

感谢

回答

3

你忘记打电话Update方法来更新你的鳕数据可能是一个问题在这里

检查的链接通过你给有用于更新的方法是这样

sqlDa.Update(dSet,"emp"); 

哪些在数据库中进行更新。


MSDN

DataAdapter.Update Method - 要求在指定的DataSet每个inserted, updated, or deleted行从DataTable名为各自INSERT, UPDATE, or DELETE声明 “Table”。

+0

非常感谢你。不知道我怎么没看见。 – Lahib

+0

@Lahib - 欢迎...不要忘记upvote并将其标记为已接受,如果它适合你... –

+0

是的,我会做到这一点 – Lahib