我正在研究一些SQL代码.
我熟悉语法
SELECT * FROM myTable WHERE myColumn in ('1','2','3');
Run Code Online (Sandbox Code Playgroud)
假设我正在编写一些C#代码,我想在其中使用C#数组('1','2','3').我怎么做?
Bri*_*ian 10
您可以动态构建SQL字符串.
如果你知道数组中的数据是好的(不是由用户提供),你可以只做一个string.Join.
var sql = string.Format("SELECT * FROM myTable WHERE myColumn in ({0})", string.Join(", ", myArray));
Run Code Online (Sandbox Code Playgroud)
如果您不知道它是已清理的数据,那么您应该使用带参数的Command.
var myArray = new string[] { "1", "2", "3" };
//var sql = string.Format("SELECT * FROM myTable WHERE myColumn in ({0})", string.Join(", ", myArray));
var cmd = new System.Data.SqlClient.SqlCommand();
var sql = new System.Text.StringBuilder();
sql.Append("SELECT * FROM myTable WHERE myColumn in (");
for (var i = 0; i < myArray.Length; i++)
{
cmd.Parameters.Add("@" + i, myArray[i]);
if (i > 0) sql.Append(", ");
sql.Append("@" + i);
}
sql.Append(")");
cmd.CommandText = sql.ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14945 次 |
| 最近记录: |