|
|
|
Проблема при вставке записи в dbf-таблицу с именем поля ORDER
|
|||
|---|---|---|---|
|
#18+
Уважаемые гуру C# нужна Ваша помощь. При попытке записи в dbf-таблицу с именем поля ORDER выдается синтаксическая ошибка в строке SQL-оператора (принимает это имя поля как служебный оператор SQL). Как это можно обойти? String ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + catalog + ";Extended Properties=DBASE IV"; System.Data.OleDb.OleDbConnection dbf_Connection = new System.Data.OleDb.OleDbConnection(); dbf_Connection.ConnectionString = ConnectionString; try { //устанавливаем соединение с work.dbf dbf_Connection.Open(); if (dbf_Connection.State == System.Data.ConnectionState.Open)//соединение установлено { //MessageBox.Show("Соединение с файлом DBF установлено"); foreach (System.Data.DataRowView myRow in dataGrid1.SelectedItems) {//цикл по выделенным строкам табличного представления string QueryInsert = "INSERT INTO [WORK.DBF] (ORDER) VALUES (@order)"; System.Data.OleDb.OleDbCommand dbf_SQLCommandInsert = new System.Data.OleDb.OleDbCommand(QueryInsert, dbf_Connection); dbf_SQLCommandInsert.Parameters.Add("@order", System.Data.OleDb.OleDbType.VarChar, 3, "ORDER"); dbf_SQLCommandInsert.Parameters["@order"].Value = myRow["ORDER"].ToString(); dbf_SQLCommandInsert.ExecuteNonQuery(); } } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2011, 13:42 |
|
||
|
Проблема при вставке записи в dbf-таблицу с именем поля ORDER
|
|||
|---|---|---|---|
|
#18+
Попробуй как-нибудь в кавычках взять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2011, 15:08 |
|
||
|
Проблема при вставке записи в dbf-таблицу с именем поля ORDER
|
|||
|---|---|---|---|
|
#18+
Вобщем-то тут http://support.microsoft.com/kb/321266 описано как писать по фэнь-шую. Чисто, технически warning по поводу использования keywords иногда можно обходить, но я-бы не советовал. Это ружьё, которое стрельнет, если не вашем софте то где-то в другом месте. На экспортах-импортах и сопряжении с другими системами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2011, 16:36 |
|
||
|
Проблема при вставке записи в dbf-таблицу с именем поля ORDER
|
|||
|---|---|---|---|
|
#18+
Всем спасибо решил проблему так: string QueryInsert = "INSERT INTO [WORK.DBF] ([N_DOC],[DATADOC],[PAYER],[ORDER],[SUM],[INN_PAYER],[ACC_PAYER],[TEL],[BIC],[BIC_RKC],[SUBACC],[RECEIVER],[ACC_REC],[INN_REC],[GROUND],[BANKKORR],[UCH_SB],[KPPPLAT],[KPPPOL])" + "VALUES (@n_doc,@datadoc,@payer,@order,@sum,@inn_payer,@acc_payer,@tel,@bic,@bic_rkc,@subacc,@receiver,@acc_rec,@inn_rec,@ground,@bankkorr,@ush_sb,@kppplat,@kpppol);"; dbf_DataAdapter.InsertCommand = new System.Data.OleDb.OleDbCommand(QueryInsert, dbf_Connection); dbf_DataAdapter.InsertCommand.Parameters.Add("@n_doc", System.Data.OleDb.OleDbType.VarChar, 7, "N_DOC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@datadoc", System.Data.OleDb.OleDbType.DBDate, 8, "DATADOC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@payer", System.Data.OleDb.OleDbType.VarChar, 160, "PAYER"); dbf_DataAdapter.InsertCommand.Parameters.Add("@order", System.Data.OleDb.OleDbType.VarChar, 3, "ORDER"); dbf_DataAdapter.InsertCommand.Parameters.Add("@sum", System.Data.OleDb.OleDbType.Double, 0, "SUM"); dbf_DataAdapter.InsertCommand.Parameters.Add("@inn_payer", System.Data.OleDb.OleDbType.VarChar, 12, "INN_PAYER"); dbf_DataAdapter.InsertCommand.Parameters.Add("@acc_payer", System.Data.OleDb.OleDbType.VarChar, 25, "ACC_PAYER"); dbf_DataAdapter.InsertCommand.Parameters.Add("@tel", System.Data.OleDb.OleDbType.Integer, 0, "TEL"); dbf_DataAdapter.InsertCommand.Parameters.Add("@bic", System.Data.OleDb.OleDbType.VarChar, 9, "BIC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@bic_rkc", System.Data.OleDb.OleDbType.VarChar, 9, "BIC_RKC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@subacc", System.Data.OleDb.OleDbType.VarChar, 25, "SUBACC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@receiver", System.Data.OleDb.OleDbType.VarChar, 160, "RECEIVER"); dbf_DataAdapter.InsertCommand.Parameters.Add("@acc_rec", System.Data.OleDb.OleDbType.VarChar, 25, "ACC_REC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@inn_rec", System.Data.OleDb.OleDbType.VarChar, 12, "INN_REC"); dbf_DataAdapter.InsertCommand.Parameters.Add("@ground", System.Data.OleDb.OleDbType.VarChar, 210, "GROUND"); dbf_DataAdapter.InsertCommand.Parameters.Add("@bankkorr", System.Data.OleDb.OleDbType.VarChar, 60, "BANKKORR"); dbf_DataAdapter.InsertCommand.Parameters.Add("@ush_sb", System.Data.OleDb.OleDbType.VarChar, 10, "UCH_SB"); dbf_DataAdapter.InsertCommand.Parameters.Add("@kppplat", System.Data.OleDb.OleDbType.VarChar, 12, "KPPPLAT"); dbf_DataAdapter.InsertCommand.Parameters.Add("@kpppol", System.Data.OleDb.OleDbType.VarChar, 12, "KPPPOL"); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.06.2011, 17:08 |
|
||
|
|

start [/forum/topic.php?fid=16&fpage=83&tid=1342873]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
88ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
33ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 368ms |

| 0 / 0 |
