tans5554111 2021-03-18 11:13 采纳率: 100%
浏览 48
已采纳

必须申明变量"@userid"

新手,这个登录验证老是搞不好,请大神指点一下。帮忙更正一下


        private void LoginForm_Load(object sender, EventArgs e)
        {
            {
                string SqlStr = ("server=.; uid=sa; pwd=555411; database=TomDB");//数据库连接
                SqlConnection conn = new SqlConnection(SqlStr);
                conn.Open();//打开数据库

                string sql = "select count(*)  from userTB where userid = @userid AND password = @pwd ";//用户名和密码表连接
                SqlParameter[] parameters = {
                 new SqlParameter("@userid", SqlDbType.VarChar, 20),
                 new SqlParameter("@pwd", SqlDbType.VarChar, 30) };
                SqlCommand com = new SqlCommand(sql, conn);
                int a = (int)com.ExecuteScalar();//返回第一行第一列
                if (a > 0 )
                {
                    MessageBox.Show("登录成功");
                }
                else
                {
                    MessageBox.Show("登录失败");

                }


            }

  • 写回答

4条回答 默认 最新

  • Go 旅城通票 2021-03-18 11:32
    关注

    你只是申明了参数,SqlCommand要将参数添加进去才行,而且参数你也没有赋值。。

    ///////////////////赋值
                parameters[0].Value = "userid的值";
                parameters[1].Value = "密码";
    ///////////////////赋值
    
                SqlCommand com = new SqlCommand(sql, conn);
                foreach (SqlParameter p in parameters) { com.Parameters.Add(p); }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败