繁体   English   中英

System.Data.SqlClient.SqlException:'无效的列名'music'。

[英]System.Data.SqlClient.SqlException: 'Invalid column name 'music'.'

我想显示基于菜单项值的类别(服务),因此,例如,当用户单击音乐项目时,它应该从服务名称=菜单项值的数据库表(ServiceP)中填充转发器。

我尝试了此代码,但出现错误

System.Data.SqlClient.SqlException:'无效的列名'music'

这是用户单击菜单项时的代码

 protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
 {
     SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\TOSHIBA\Documents\PartyZone.mdf;Integrated Security=True;Connect Timeout=30");
     conn.Open();

     SqlCommand cmd = conn.CreateCommand();
     cmd.CommandType = CommandType.Text;
     cmd.CommandText = "select * from ServiceP where 
     ServiceName = "+e.Item.Value.ToString() ;

     cmd.ExecuteNonQuery();

     DataTable dt = new DataTable();
     SqlDataAdapter da = new SqlDataAdapter(cmd);
     da.Fill(dt);

     d1.DataSource = dt;
     d1.DataBind();

     conn.Close();
} 

假设您实际上有:

cmd.CommandText = "select*from ServiceP where ServiceName="+e.Item.Value.ToString() ;

并且e.Item.Value"music" ,那么您这里需要一个参数来保存要搜索的值,即

cmd.CommandText = "select*from ServiceP where ServiceName=@value";
cmd.Parameters.AddWithValue("@value", e.Item.Value.ToString());

请注意,您还可以丢弃cmd.ExecuteNonQuery(); -此处无济于事,意味着您需要做两次工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM