asp.net弄注册页面也就是插入一条新数据时一直说User附近有语法错误

小麻加油鸭 2022-08-13 19:09:28

 源代码如下,请各位大佬帮忙

protected void Button1_Click(object sender, EventArgs e)
    {
        String strConn = @"Data Source=.;Initial Catalog=ynlyw;Integrated Security=true";
        using (SqlConnection con = new SqlConnection(strConn))
        {
            con.Open();
            string str = "select count(*) from User where UserName='" + TextBox1.Text + "'";
            SqlCommand com = new SqlCommand(str, con);
            int intcont = Convert.ToInt32(com.ExecuteScalar());
            if (intcont > 0)//判断数据库中是否有相同的记录 
            {
                Response.Write("alert('用户名已存在!')");
            }
            else
            {
                try
                {
                    //插入命令 
                    string sqlString = "insert into User(UserName,UPwd,Tel,QQ,Email) values(@p1,@p2,@p3,@p4,@p5)"; ;
                    //创建SqlCommand实例,并设置SQL语句和使用的连接实例
                    SqlCommand mycom = new SqlCommand(sqlString, con);
                    SqlParameter[] tvpParam = new SqlParameter[]
                        {
                               new SqlParameter("p1",TextBox1.Text),
                               new SqlParameter("p2",FormsAuthentication.HashPasswordForStoringInConfigFile(TextBox2.Text,"MD5")),
                               new SqlParameter("p3",TextBox4.Text),
                               new SqlParameter("p4",TextBox5.Text),
                               new SqlParameter("p5",TextBox6.Text),
                        };

                    mycom.Parameters.AddRange(tvpParam);
                    mycom.ExecuteNonQuery();
                    Response.Write("good");
                }
                catch (Exception ex)
                {
                    Response.Write(ex.Message.ToString());
                }
            }

        }
    }

...全文
323 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复 1

将 User 改成 [User] 就行了

  • 举报
回复
@狗要走我不留 谢谢前辈🌹
  • 打赏
  • 举报
回复

不好意思,user是mssql的关键字,所以不可以直接在sql使用,如果要用请用方括号括起来

  • 举报
回复
@wanghui0380 好的好的,谢谢你🌹
dongmusic 08-14
  • 打赏
  • 举报
回复

这样的问题,可以使用单步调试的方式进行排错,大部分情况下的错误是能够排除的,这个调试方法作为程序员来说是应该熟练掌握的。

  • 举报
回复
@dongmusic 好,谢谢前辈🌹
  • 打赏
  • 举报
回复

会是因为数据库出错吗?之前用了另一个方法也是一样的错误,希望大家帮帮忙,谢谢大家

相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2022-08-13 19:09
社区公告

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

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