注册 登录
编程论坛 ASP.NET技术论坛

写 sql语句出现的"将varchar值"人事部"转换为数据类型为int的列

水晶之恋 发布于 2007-05-19 09:19, 1389 次点击

我用一下程序:
private void tongji1_Click(object sender, System.EventArgs e)
{
DataGridBind();
}

public void DataGridBind()
{
string strsql = "select users_id,username,hometown,mobilephone,dep_name from users,dep where users.dep_id=dep.dep_id";
if(dep_name.selectvalue!="")
{
str+="and dep.dep_name=" + this.dep_name.SelectedValue.ToString().Trim() + ""; }
conn.Open();
da = new SqlDataAdapter(strsql,conn);
ds = new DataSet();
da.Fill(ds,"TongjiDep"); //出错
DataView dv = ds.Tables[0].DefaultView;
DataGrid1.DataSource = dv;
DataGrid1.DataBind();
conn.Close();
}
会出现错误
将varchar值"人事部"转换为数据类型为int的列时发生语法错误?
这是怎么回事啊??

3 回复
#2
shenba2007-05-20 10:05
dep_name.selectvalue
dep_name应该是个下拉框吧 它的value部分是 数字 还是 字符串

dep.dep_name 是数字 还是字符串呢,如果是字符串 前后加个引号试试
and dep.dep_name='" + this.dep_name.SelectedValue.ToString().Trim() + "'";
#3
tel19822007-05-20 11:14
你先按照shenba所说的改一下,看看行不行.
#4
rainic2007-05-20 12:02
str+="and dep.dep_name

另外,红色那里少了空格
1