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

求教!VS作的用户注册页无法存入数据

2012-12-29 
求教!VS做的用户注册页无法存入数据我用VS做了一个网站,其中有一页是用于注册用户的,请问如何将用户信息写

求教!VS做的用户注册页无法存入数据
我用VS做了一个网站,其中有一页是用于注册用户的,请问如何将用户信息写入到数据库中?这是我写的,运行后输入的数据并没有进入数据库(我用的是access数据库),求教! 

protected void Button1_Click(object sender, EventArgs e)
    {
        //连接数据库
        string ConnString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=C:\Users\Administrator\Desktop\PandM\用户信息.mdb";
        OleDbConnection les = new OleDbConnection(ConnString);
        OleDbCommand lem;
        

        //将数据输入到注册表内
        les.Open();
        string sql = "insert into UserInfo(user,code1,email,name)value (@UserName,@Code,@Email,@Name)";
        lem = new OleDbCommand(sql, les);
        lem.Parameters.AddWithValue("@UserName", TextBox1.Text.ToString());
        lem.Parameters.AddWithValue("@Code", TextBox2.Text.ToString());
        lem.Parameters.AddWithValue("@Email", TextBox4.Text.ToString());
        lem.Parameters.AddWithValue("@Name", TextBox5.Text.ToString());

        les.Close();
       
    }
[解决办法]
demo

//添加
    protected void add_Button_Click(object sender, EventArgs e)
    {
        string connStr = ConfigurationManager.ConnectionStrings["connStr"].ToString();
        OleDbConnection conn = new OleDbConnection(connStr);
        conn.Open();
        string sql = "insert into form (gzsx,fzr,jdr,jhwcsj,sjwcsj,knd,wcjg) values ('" + gzsx_TextBox.Text + "','" + fzr_TextBox.Text + "','" + jdr_TextBox.Text + "','" + jhwcsj_TextBox.Text + "','" + sjwcsj_TextBox.Text + "','" + knd_TextBox.Text + "','" + wcjg_TextBox.Text + "')";
        OleDbCommand cmd = new OleDbCommand(sql, conn);
        cmd.ExecuteNonQuery();
        conn.Close();
    }


[解决办法]
Access的语法比较严格一点儿,一般在字段的两边尽量加上中括号就不会提示语法错误了,如下:

//----------------------函数开始------------------------
protected void Button1_Click(object sender, EventArgs e)
    {
        //连接数据库
        string ConnString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=
[解决办法]
DataDirectory
[解决办法]
用户信息.mdb";


        OleDbConnection les = new OleDbConnection(ConnString);
        OleDbCommand lem;

        //注意Sql语句中在字段两侧加上中括号,像name就属于Access的保留字符不加中括号就冲突了
         //另外注意,值的关键字是values(复数),而不是value
        string sql = "insert into UserInfo([user],[code1],[email],[name])values (@UserName,@Code,@Email,@Name)";
        lem = new OleDbCommand(sql, les);
        lem.Parameters.AddWithValue("@UserName", TextBox1.Text.ToString());
        lem.Parameters.AddWithValue("@Code", TextBox2.Text.ToString());
        lem.Parameters.AddWithValue("@Email", TextBox4.Text.ToString());
        lem.Parameters.AddWithValue("@Name", TextBox5.Text.ToString());

         try
        {
          les.Open();//打开数据库连接
            lem.ExecuteNonQuery();//无返回结果模式执行SQL语句
        }
        catch(Exception ex)
        {//异常捕获处理
          Response.Write("出错,错误原因是:"+ex.Message);
          Response.End();//结束响应流,立即返回客户浏览器
        }
        finally
        {
          les.Close();//无论是否出现错误,都关闭数据库连接
        }
    } 

//---------------------函数结束-------------------------


[解决办法]
ExecteNonQuery 是执行的 !! 你这句都没有执行肯定保存不了!! 嗯! 恭喜已经解决了!!求教!VS作的用户注册页无法存入数据

热点排行