C# 类SQL语句
在这里,我尝试使用like语句从db中选择一个数据,但它使用我的数据的第一位进行搜索。但我需要编写代码,比如搜索,而不是数据的前3位。有人能帮我吗C# 类SQL语句,c#,sql,C#,Sql,在这里,我尝试使用like语句从db中选择一个数据,但它使用我的数据的第一位进行搜索。但我需要编写代码,比如搜索,而不是数据的前3位。有人能帮我吗 public void CC() { CCddl.Items.Clear(); ListItem l = new ListItem(); l.Text = "-Select-"; CCddl.Items.Add(l);
public void CC()
{
CCddl.Items.Clear();
ListItem l = new ListItem();
l.Text = "-Select-";
CCddl.Items.Add(l);
CCddl.SelectedIndex = 0;
con.Open();
SqlCommand cmd = new SqlCommand("select Componetcode from dbo.tbl_component where Sitecode like '%" + TextBox1.Text + "%'", con);
SqlDataReader dr1;
dr1 = cmd.ExecuteReader();
while (dr1.Read())
{
ListItem n = new ListItem();
n.Text = dr1["Componetcode"].ToString().Trim();
CCddl.Items.Add(n);
}
dr1.Close();
con.Close();
}
您不能对需要使用cast或convert将数字转换为stirng的数字进行类似操作
编辑
您还可以使用substring函数跳过列中的前三个字符或数据
select * from (
select column1,cast(column2 as varchar(30)) as column2 from tablename
) d where
substring(column2,4, LEN(column2) - 3 ) like '%textosearch%'
你需要写下来
select * from tablename where column like '___textosearch%'
因此,您的代码将是
SqlCommand cmd = new SqlCommand("select Componetcode from dbo.tbl_component
where Sitecode like '___" + TextBox1.Text + "%'", con);
_允许您在sql中匹配单个字符,因此您需要像我在代码中所做的那样编写三个字符
还可以使用sql参数修改您的代码,以避免sql注入攻击我看到sql注入。可能相关:。如果您获得了所需的信息,请不要忘记升级投票并将答案标记为已接受。.C与VB.NET不同,没有like运算符,因此您的标题具有误导性。您也不应该在标题前加上主标记C。我可以添加..'“你的代码不安全”不是你的问题-我看到这个恼人的关于安全性的评论,当问题是关于字符串替换或其他什么的时候,在大多数与SQL相关的在线问题中与注入无关!准备好了,你们中的任何一个煽动者都开始思考“非常清楚的问题陈述!”朋友,事实上,现在是加载所有数据的时候了db@AravindSai-刚刚删除了fir%符号并尝试我在我的代码中更新的代码可能适用于您…未得到任何更改friendsure。。我把屏幕贴上去好吗shot@AravindSai-您也可以尝试我在编辑中使用的子字符串功能。。。。