|
|
|
почему нельзя в параметр поместить имя таблицы
|
|||
|---|---|---|---|
|
#18+
Добрый вечер Почему в параметр нельзя поместить имя таблицы??? Вот такой код не работает. OleDbConnection OleDbConnect = new OleDbConnection(OleConnect); OleDbConnect.Open(); OleDbCommand query = OleDbConnect.CreateCommand(); query.CommandText = "update @table set login=@login, pass=@pass, serv=@serv, db=@db, con=@con, plan=@plan where id=@id"; query.Parameters.AddWithValue("@table", "nastr"); query.Parameters.AddWithValue("@login", user.Text); query.Parameters.AddWithValue("@pass", password.Text); query.Parameters.AddWithValue("@serv", server.Text); query.Parameters.AddWithValue("@db", db.Text); query.Parameters.AddWithValue("@con", strConnect); query.Parameters.AddWithValue("@plan", plan.Text); query.Parameters.AddWithValue("@id", id.ToString()); query.ExecuteNonQuery(); OleDbConnect.Close(); SqlCon.Close(); Второй вопрос: Почему передавая так id, запрос ничего не находит, если же укажу query.CommandText = "update @table set login=@login, pass=@pass, serv=@serv, db=@db, con=@con, plan=@plan where id="+1.ToString(); находит строку и обновляет!!! но если передам туже единицу через параметр как выше показано, то не находит строку! я пыталась даже явно указывать тип параметра, но это не помогло! приходится id конкатенировать со строкой, тогда все окей... кстати насчет имени таблицы ее тоже приходится конкатенировать query.CommandText = "update " + "nastr" + " set login=@login, pass=@pass, serv=@serv, db=@db, con=@con, plan=@plan where id=1"; Но так я понимаю как то не красиво..Гуру Ado.Net подскажите в чем проблема.. Ксати работаю в данной задаче с Access 2003 Спасибо за внимание! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.10.2009, 13:53 |
|
||
|
почему нельзя в параметр поместить имя таблицы
|
|||
|---|---|---|---|
|
#18+
OleDb не поддерживает именованные параметры смотрите MSDN. ? используют вместо именованных параметров + посмотрите порядок их задания и заполнения, там отличается от SqlClient ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.10.2009, 15:49 |
|
||
|
почему нельзя в параметр поместить имя таблицы
|
|||
|---|---|---|---|
|
#18+
Спасибо! Действительно, в Access имеет значение не название параметра, а порядок его следования!!! То есть если параметр @id указать в конце (после остальных параметров, так как в предложении SQL он находится в конце), то все прекрасно работает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.10.2009, 18:26 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=66&tid=1351641]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
21ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 351ms |

| 0 / 0 |
