簡體   English   中英

System.Data.SQLite參數未被替換

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM