2014-02-10 6 views
0

Мне нужно вставить запись в базу данных Access 2000 с помощью C#. Код не работает в SqlConnection. Пожалуйста помоги.Вставить запись в базу данных Access 2000 в C#

 string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Trading.mdb"; 
     string commandText = "INSERT INTO Order (OpenDate) VALUES (@OpenDate)"; 

     using (SqlConnection connection = new SqlConnection(connectionString)) 
     { 
      SqlCommand command = new SqlCommand(commandText, connection); 
      command.Parameters.AddWithValue("@OpenDate", DateTime.Now); 

      try 
      { 
       command.Connection.Open(); 
       int response = command.ExecuteNonQuery(); 
      } 
      catch (Exception ex) 
      { 
       MessageBox.Show("Error: {0}" + ex.Message); 
      } 
     }    
+0

Он не пошел в код после SqlConnection. – Nicholas

+0

Прежде всего, я хотел бы поблагодарить всех, кто разместил их предложения. Это заставило меня задуматься, и я выяснил решение, хотя после прочтения многих сообщений и пробных ошибок этих образцов кода. – Nicholas

+0

Я хочу спросить, почему мой пост переносятся на удержание. Как насчет этого сообщения http://stackoverflow.com/questions/2415703/error-datatype-mismatch-in-c-sharp? Почему он не переносится или не сдерживается? Почему здесь двойной стандарт? – Nicholas

ответ

3

Проблема: вы работаете с базой данных MS-Access, но с использованием объектов SQLServer.

Решение: вам нужно использовать OleDbConnection объект вместо SqlConnection и OleDbCommand вместо SqlCommand

Попробуйте:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Trading.mdb"; 
    string commandText = "INSERT INTO Order (OpenDate) VALUES (?)"; 

    using (OleDbConnection connection = new OleDbConnection(connectionString)) 
    { 
     OleDbCommand command = new OleDbCommand(commandText, connection); 
     command.Parameters.AddWithValue("@OpenDate", DateTime.Now); 

     try 
     { 
      command.Connection.Open(); 
      int response = command.ExecuteNonQuery(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show("Error: {0}" + ex.Message); 
     } 
    }   
Смежные вопросы