我需要向数据库发送命令。我知道受影响表中所有字段的名称和数据类型,我需要使用它们生成命令。我唯一的问题是确定哪些列值是需要 TSQL 中的引号的数据类型 - 例如,如果字段是Hello World
type的字符串varchar
,我需要引用它,但如果它是int
, 5,我不会需要引用它。
我可以使用类似下面的代码,但它似乎非常低效。有人能指出一个更好的方法——可能使用内置的 SQL 服务器或 C# 功能吗?
public string QuoteStringIfDatatypeRequires(string columnName)
{
if (DataTypes[columnName].Contains("date") || DataTypes[columnName].Contains("time") ||
DataTypes[columnName].Contains("char") || DataTypes[columnName].Contains("text") ||
DataTypes[columnName].Contains("binary") || DataTypes[columnName].Contains("image"))
{
return "'" + columnName + "'";
}
return columnName;
}