我在 SQL Server 中有这个过程:
create procedure AutoSearchTeamByMobile
@Team_Mobile int
As
select * from Team_Info where Team_Mobile like @Team_Mobile+'%';
我在 C# 中有这段代码:
private void textBoxX4_TextChanged(object sender, EventArgs e)
{
int tMobile= int.Parse(textBoxX4.Text);
SqlCommand com = new SqlCommand("AutoSearchTeamByMobile", con);
com.Parameters.Add("@Team_Mobile", SqlDbType.Int).Value = tMobile;
com.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = com;
da.Fill(ds, "Team_Info");
dataGridViewX1.DataSource = ds.Tables["Team_Info"];
}
我有一个手机号码列表,它们保存在名为的列中Team_Mobile
,数据类型为int
,其中一个以'711......'开头,另一个以'700......'开头,所以现在当我textBoxX4
只写 '7' 那么所有数字(以 711 或 700 开头)都应该出现在 中dataGridViewX1
,但是当我写 '71' 时,只有以 '711' 开头的数字才能出现在dataGridViewX1
. 当我写“70”时,只有以 700 开头的数字才会出现在dataGridViewX1
. 我没有得到我需要的东西,实际上我没有看到任何与我没有做任何事情相同的事情。
我的需要,当我写 71 时,Team_Mobile 列中包含 711 的所有记录仍应出现,而其他数字应隐藏。
但是我用它做了它Team_Names
并且它有效,因为数据类型Team_Names
is nvarchar
,但是Team_Mobile
is int
。
sql:
create procedure AutoSearchTeam
@Team_Name nvarchar (50)
As
select * from Team_Info where Team_Name like @Team_Name+'%';
C#:
private void textBoxX1_TextChanged(object sender, EventArgs e)
{
string t_name = textBoxX1.Text;
SqlCommand com = new SqlCommand("AutoSearchTeam", con);
com.Parameters.Add("@Team_Name", SqlDbType.NVarChar, 50).Value = t_name;
com.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter();
DataSet ds = new DataSet();
da.SelectCommand = com;
da.Fill(ds, "Team_Info");
dataGridViewX1.DataSource = ds.Tables["Team_Info"];
}
我的问题是:有没有%
用整数代替它?
我可以%
用整数代替什么来获得我上面解释的内容?
对不起我的英语。