各位大哥!这什么地方做错了?必须声明标量变量@***
- 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);
[解决办法]
[解决办法]