我正在使用string.Format方法构建一个字符串。通常,对于包含许多列的表,我会有非常长的参数列表,例如
string query = string.Format("{0},{1},{2},...,{30}", val1, val2, ...., val30);
C#是否有更简洁的方式来处理这些字符串?
答案 0 :(得分:1)
您可以使用字符串插值:
$"{val1},{val2},{val3}"
但我必须警告你:不要使用string.Format
等来构建SQL语句。 Use parameterized queries! 强>
答案 1 :(得分:0)
不要使用string.format或字符串插值构建查询
有安装参数化查询的内置方法:
string sql = "SELECT name from student where id = @id";
using (SqlConnection connection = new SqlConnection(someConnectionString))
using (SqlCommand command = new SqlCommand(sql, connection))
{
command.Parameters.Add(new SqlParameter("id", someIdVariable));
var results = command.ExecuteReader();
}
答案 2 :(得分:-1)
我正在使用string.Format方法构建SQL查询。
嗯,那是你的第一个错误。您可能最好使用一个参数化查询。
但是,忽略这一点,你的问题是关于构建字符串。最好的方法是使用StringBuilder
对象:
var sql = new StringBuilder();
sql.AppendFormat("{0},{1},{2},", val1, val2, val3);
sql.AppendFormat("{0},{1},{2},", val4, val5, val6);