首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

!这什么地方做错了?必须声明标量变量@*

2012-06-21 
各位大哥!这什么地方做错了?必须声明标量变量@***C# codepublic static DataSet Search(Entity.WeaponInfo

各位大哥!这什么地方做错了?必须声明标量变量@***

C# code
       public static DataSet Search(Entity.WeaponInfo Search)       {           SqlConnection conn = new SqlConnection("Server=.; Integrated Security=True; Database=WeaponSalesMng");           SqlCommand cmd = new SqlCommand("select * from WeapInfo where WeapName=@WeapName", conn);           cmd.Parameters.Add(new SqlParameter("@WeapName", Search.Name));           conn.Open();           DataSet ds = new DataSet();           SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn);           da.Fill(ds,"WeapInfo");//在这里提示必须声明标量变量@WeapName           da.FillSchema(ds, SchemaType.Source, "WeapInfo");           DataTable table = ds.Tables["WeapInfo"];           conn.Close();           return ds;       }

-----------------------------------------
我将"select * from WeapInfo where WeapName=@WeapName" 换成"select * from WeapInfo where WeapName='XXX'"就可以正常运行
但是Search.Name 确实有值传进来了啊 。。。。
各位老大教教我啊

[解决办法]
SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn);
改成
SqlDataAdapter da = new SqlDataAdapter(cmd);
[解决办法]
探讨

试试
cmd.Parameters.AddWithValue("@WeapName", Search.Name);

[解决办法]
探讨
引用:

SqlDataAdapter da = new SqlDataAdapter(cmd.CommandText, conn);
改成
SqlDataAdapter da = new SqlDataAdapter(cmd);


谢谢你,解决了 为什么我的写法不行呢?

热点排行