在VS2010实现模糊查询(LIKE格式)的问题
string temp = txt姓名查找.Text;
string ConStr = ConfigurationManager.ConnectionStrings["ConStr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(ConStr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText =@"Select *from T_Person where Name LIKE '%:temp%'";
using (SqlDataReader read=cmd.ExecuteReader())
{
while(read.Read())
{
if (lbx模糊显示.Text == "")
{
lbx模糊显示.Text = Convert.ToString(read.GetOrdinal("Name")) ;
}
else
{
lbx模糊显示.Text = lbx模糊显示.Text + Convert.ToString(read.GetOrdinal("Name")) ;
}
}
MessageBox.Show(Convert.ToString(read.GetOrdinal("Name")));
}
}
if (lbx模糊显示.Text != "")
{
lbx模糊显示.Visible = true;
}
else
{
lbx模糊显示.Visible = false;
}
}
赋值给cmd.CommandText 语句格式要怎么写?错那里?我用ExecuteReader()可以吗?
这个程序错那里呢?
[最优解释]
cmd.CommandText =@"Select *from T_Person where Name LIKE '%"+temp+"%'";
[其他解释]
还是找不到。。我用MessageBox.Show(Convert.ToString(read.GetOrdinal("Name")));弹出来是1.
可以帮看下代码吗?那里有错,谢谢!
[其他解释]
你自己断点调试才是重要的。
[其他解释]
我已经看了好久,昨晚到现在都在看这个问题,帮看下,谢谢!
我在调式下。。
[其他解释]
Convert.ToString(read.GetOrdinal("Name")为1是找不到的原因吗?
[其他解释]
已经好了,
不过我是换成DataSet来实现的。
但为什么ExecuteReader不行,我还是不懂。
总之谢谢您的帮助!