[英]System.Data.SQLite parameters not being substituted
conn = new SQLiteConnection("Data Source=nk.db");
var items = from n in internalMap.storage select n.paramName;
conn.Open();
cmd = new SQLiteCommand("CREATE TABLE @table_name (name TEXT)",conn);
//create table for the index
cmd.Parameters.AddWithValue("@table_name", j);
cmd.ExecuteNonQuery();
執行此行時“cmd.ExecuteNonQuery();” 我得到以下異常
“@ table_name \\”附近的SQLite錯誤:語法錯誤“
我所做的所有搜索似乎表明你是如何做到的。
我不知道出了什么問題
在我使用的大多數數據庫中,DDL命令不能像這樣參數化,甚至DML語句也不能通過表名(或字段名等)進行參數化。 通常,只能對參數化表達值進行參數化。
在大多數情況下這是可以的,因為你通常沒有用戶提供的數據來表示名稱中的表格,並且沒有格式化考慮因素,因為可能存在數字和日期/時間......所以簡單的字符串SQL語句中的替換可能是你能做的最好的,雖然可能是丑陋的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.