2015-07-21 2 views
-3
System.Data.OleDb.OleDbConnection bes = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\JAMES DEAN\Documents\aha.mdb;User Id=admin; Password=;;"); 
System.Data.DataTable pc = new System.Data.DataTable(); 

System.Data.OleDb.OleDbDataAdapter save = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Info (Quantity, Unit, Account, Description , Amount, Total Amount, [Date]) VALUES '"+ textBox1.Text +"','" +textBox2.Text + 
      "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5 + "','" + textBox6.Text+ "','" + dateTimePicker1.Value.ToString("MM/dd/yyyy") + "','" ,bes); 
save.Fill(pc); 
dataGridView1.DataSource = pc; 

спасибо: DКак разрешить эту синтаксическую ошибку в предложении FROM?


System.Data.OleDb.OleDbCommand save = new System.Data.OleDb.OleDbCommand(
    "Insert into Info (Quantity, Unit, Account, Description , Amount, Total Amount, Account Title, [Date]) VALUES '" 
    + textBox1.Text +"','" 
    +textBox2.Text +"','" 
    + textBox3.Text + "','" 
    + textBox4.Text + "','" 
    + textBox5 + "','" 
    + textBox6.Text+ "','" 
    + comboBox1.Text+"','" 
    + dateTimePicker1.Value.ToString("MM/dd/yyyy") + "','" ,bes); 
save.ExecuteNonQuery(); 
bes.Close(); 

это теперь мой код, и я все еще получаю ошибку TT

+6

О, боже .. Пожалуйста, ** ПОЖАЛУЙСТА ** всегда используйте [параметризованные запросы] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/). Этот тип конкатенаций строк открыт для [SQL Injection] (http://en.wikipedia.org/wiki/SQL_injection) атак. –

+1

И 'SELECT' не имеет синтаксиса с' VALUES'. Что вы пытаетесь сделать точно? Вы хотите использовать 'WHERE' вместо этого, чтобы отфильтровать ваши данные с этими значениями? Вы всегда должны использовать свои запросы в своем менеджере db. И используйте инструкцию 'using' для размещения ваших соединений с базой данных и адаптеров. –

+1

- это нечестивое слияние выражения select и insert? – citywall

ответ

0

Вы смешиваете два запроса Select и Insert

Выбрать

SELECT Quantity, Unit, Account, Description , Amount, Total Amount, [Date] FROM Info 

Вставка

Insert into Info (Quantity, Unit, Account, Description , Amount, Total Amount, [Date]) VALUES ... 

Также
1. Колонка не может иметь место между ними.
2. Пожалуйста, используйте параметризованный запрос для предотвращения внедрения SQL.

+0

Nitpick. Столбцы могут иметь пространство, они просто должны быть заключены в квадратные скобки. – LarsTech

Смежные вопросы