C# 如何从定义了前3个字符的表中查询select数据

C# 如何从定义了前3个字符的表中查询select数据,c#,asp.net,sql-server-2008,C#,Asp.net,Sql Server 2008,我想通过工作代码的前3个字符过滤dropdownlist,这是我的查询 string result3 = Checked_By.ToString().Substring(0, 3); SqlCommand cmd = new SqlCommand(" SELECT [Kode], [Nama] FROM [Job] WHERE LEFT(Kode, = '" + result3 + "') ORDER BY Nama ASC", con); SqlDataAdapter sda =

我想通过工作代码的前3个字符过滤dropdownlist,这是我的查询

string result3 = Checked_By.ToString().Substring(0, 3);


SqlCommand cmd = new SqlCommand(" SELECT [Kode], [Nama] 
FROM [Job] WHERE LEFT(Kode, = '" + result3 + "') ORDER BY 
Nama ASC", con);

 SqlDataAdapter sda = new SqlDataAdapter(cmd);
 DataTable dt = new DataTable();
 con.Open();
 sda.Fill(dt);
 con.Close();
“选择[科德],[纳米] 从[Job]开始,其中SUBSTR(Kode,1,3)='“+result3+””排序依据 Nama ASC“

”选择[Kode],[Nama] 从[Job]开始,其中SUBSTR(Kode,1,3)='“+result3+””排序依据
Nama ASC“

这是一个简单的解决方案。首先,修复SQL语法错误(SQL
LEFT
函数接受2个参数,一个字符串和一个数字。
LEFT('abcdef',3)
返回
abc
),然后使用参数重写。像这样的

string result3 = Checked_By.ToString().Substring(0, 3);

SqlCommand cmd = new SqlCommand(" SELECT [Kode], [Nama] FROM [Job] WHERE LEFT(Kode, 3) = @result3 ORDER BY Nama", con); //ASC is OK but not required as it is default option
cmd.Parameters.Add("@result3", SqlDbType.Char, 3).Value = result3;

 SqlDataAdapter sda = new SqlDataAdapter(cmd);
 DataTable dt = new DataTable();
 //con.Open(); //not necessary. SqlDataAdapter.Fill opens connection if it needs
 sda.Fill(dt);
 //con.Close(); //and closed if it wasn't open before .Fill

这是一个简单的解决方案。首先,修复SQL语法错误(SQL
LEFT
函数接受2个参数,一个字符串和一个数字。
LEFT('abcdef',3)
返回
abc
),然后使用参数重写。像这样的

string result3 = Checked_By.ToString().Substring(0, 3);

SqlCommand cmd = new SqlCommand(" SELECT [Kode], [Nama] FROM [Job] WHERE LEFT(Kode, 3) = @result3 ORDER BY Nama", con); //ASC is OK but not required as it is default option
cmd.Parameters.Add("@result3", SqlDbType.Char, 3).Value = result3;

 SqlDataAdapter sda = new SqlDataAdapter(cmd);
 DataTable dt = new DataTable();
 //con.Open(); //not necessary. SqlDataAdapter.Fill opens connection if it needs
 sda.Fill(dt);
 //con.Close(); //and closed if it wasn't open before .Fill

SQL
LEFT
函数接受2个参数,一个字符串和一个数字<代码>左('abcdef',3)返回
abc
。旁注。使用
@参数
即使是3个字符的字符串也可以。可以举个例子,我不清楚怎么做。从左边的[Job]中选择[Kode],[Nama](Kode,“+result3+”,3)。。。。像这样?SQL
LEFT
函数接受2个参数,一个字符串和一个数字<代码>左('abcdef',3)返回
abc
。旁注。使用
@参数
即使是3个字符的字符串也可以。可以举个例子,我不清楚怎么做。从左边的[Job]中选择[Kode],[Nama](Kode,“+result3+”,3)。。。。像这样?亚历克斯,你能帮我吗?从abcdef获得c字符很热吗?左('abcedf',1,3)?使用
选择子字符串('abcdef',3,1)
alex,你能帮我吗?从abcdef获得c字符很热吗?左('abcedf',1,3)?使用
选择子字符串('abcdef',3,1)