Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.Data.SqlClient.SqlException:';无效的列名';音乐';_C#_Asp.net_Menuitem - Fatal编程技术网

C# System.Data.SqlClient.SqlException:';无效的列名';音乐';

C# System.Data.SqlClient.SqlException:';无效的列名';音乐';,c#,asp.net,menuitem,C#,Asp.net,Menuitem,我想根据菜单项值显示一个类别(服务),因此,当用户单击音乐项时,例如,它应该从数据库表(ServiceP)填充中继器,其中服务的名称=到菜单项值 我尝试了这个代码,但我得到了一个错误 System.Data.SqlClient.SqlException:'无效列名'music' 这是用户单击菜单项时的代码 protected void Menu1_MenuItemClick(object sender, MenuEventArgs e) { SqlConnection conn =

我想根据菜单项值显示一个类别(服务),因此,当用户单击音乐项时,例如,它应该从数据库表(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()-这在这里没有任何用处,意味着你要做两次工作。

假设你确实有:

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()-这在这里没有任何用处,意味着你要做两次工作。

很难确切地说出你现在在做什么,因为对于未终止的单行字符串,它甚至无法编译。你能澄清一下
where
ServiceName
附近发生了什么吗?还有,这个表是什么样子的?现在很难说清楚你在做什么,因为使用未终止的单行字符串,它甚至无法编译。您能否澄清在
位置
服务名称
附近发生的情况?此外,该表是什么样子的?