出现“必须声明标量变量 "@name"”这个警告

qq_38984105 2017-07-05 05:55:03
string sql="insert denglu (用户名,密码) values(@name,@password) ";
string name=textBox1.Text;//姓名
string password=textBox2.Text;//密码
SqlParameter sName= new SqlParameter("@name", name);
SqlParameter sPassword= new SqlParameter("@password", password);

string connString=@"Data Source=USER-20160821CN\BOTA227;Initial Catalog=zaihai;User ID=bota;Password=877460873";
SqlConnection connection = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(sql, connection);
connection.Open();
int result = cmd.ExecuteNonQuery(); connection.Close();
cmd.Parameters.Clear();
if(result>0)
{
MessageBox.Show("插入数据库成功");
}
else
{
MessageBox.Show("插入失败,请稍候再试");
}

出现int result = cmd.ExecuteNonQuery();这个地方的一个警告错误
警告为:必须声明标量变量 "@name"。
改怎么弄?
...全文
1853 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mirrorspace 2017-07-07
  • 打赏
  • 举报
回复
要将参数添加到集合中.否则就报参数化查询未提供参数值
hello_xiaoqiang 2017-07-06
  • 打赏
  • 举报
回复
先添加到 cmd.param中,再删除cmd.Parameters.Clear();。
正怒月神 版主 2017-07-06
  • 打赏
  • 举报
回复
1楼正解。 没添加到 cmd.param中,你怎么玩?
xdashewan 2017-07-06
  • 打赏
  • 举报
回复
sql中的参数化对象没有被赋值
吉普赛的歌 2017-07-06
  • 打赏
  • 举报
回复
            string connString = @"Data Source=USER-20160821CN\BOTA227;Initial Catalog=zaihai;User ID=bota;Password=877460873";
            string sql = "insert into denglu(用户名,密码) values(@name,@password) ";
            string name = textBox1.Text;//姓名
            string password = textBox2.Text;//密码
            SqlParameter[] spArr = new SqlParameter[]{
                new SqlParameter("@name", name),
                new SqlParameter("@password", password)
            };

            try
            {
                using (SqlConnection connection = new SqlConnection(connString))
                {
                    connection.Open();
                    SqlCommand cmd = new SqlCommand(sql, connection);
                    cmd.Parameters.AddRange(spArr);
                    cmd.ExecuteNonQuery();
                }
                MessageBox.Show("插入数据库成功");
            }
            catch (Exception ex)
            {
                MessageBox.Show("插入失败,原因:"+ex.Message);
            }
threenewbee 2017-07-06
  • 打赏
  • 举报
回复
cmd.Parameters.Add(sName); cmd.Parameters.Add(sPassword); int result = cmd.ExecuteNonQuery();

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧