我是ASP.NET新手,C#。
现在我正在尝试编写一个小方法,什么是构建我的SQL查询。
(稍后我将使用预备语句,现在我只是尝试熟悉环境,语言等...)
这是我的方法:
public void insert( string table, Dictionary<string, string> dataToInsert ) {
string sql = "INSERT INTO " + table;
if (dataToInsert.Count< 1) {
throw new Exception("No data to insert to table: " + table);
}
List<string> fieldNames = getFieldNames(dataToInsert);
List<string> aposthrofedFieldNames = getApostrophedValues(fieldNames);
List<string> values = getValues(dataToInsert);
List<string> aposthrofedValues = getApostrophedValues(values);
string fieldNamesString = string.Join(", ", aposthrofedFieldNames);
string valuesString = string.Join(", ", aposthrofedValues);
sql += " (" + fieldNamesString + ") VALUES (" + valuesString + ")";
}
fieldNamesString
和valuesString
只是串联的字符串,例如`&#39; userId&#39;,&#39; loginDate&#39;,...所以没什么特别的,只是字符串。< / p>
在这一行:
sql += " (" + fieldNamesString + ") VALUES (" + valuesString + ")";
sql
变量已经消失。无法观看,没有更多的数据提示。
我做错了什么?
修改
截图:
更新
如果我使用此功能,sql
就可以了:
sql = string.Concat(sql, " (", fieldNamesString, ") VALUES (", valuesString, ")");