using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;public partial class main : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            this.bindGridView();
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("member.mdb");
            OleDbConnection conn = new OleDbConnection(connStr);
            conn.Open();
            string insertsql = "insert into admin values('" + TextBox1.Text + "','" + TextBox2.Text + "')";
            OleDbCommand cmd = new OleDbCommand(insertsql, conn);
            cmd.ExecuteNonQuery();
            OleDbDataAdapter ada = new OleDbDataAdapter("select * from admin", conn);
            DataSet ds = new DataSet();
            ada.Fill(ds);
            GridView1.DataSource = ds;
            GridView1.DataBind();
            conn.Close();
            Response.Write("<script language=javascript>alert('添加成功!');</script>");
        }
        catch 
        {
            Response.Write("<script language=javascript>alert('添加失败!');</script>");
        }
    }
    public void bindGridView()
    {
        string connStr = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + Server.MapPath("member.mdb");
        OleDbConnection conn = new OleDbConnection(connStr);
        conn.Open();
        string sql = "select * from admin";
        OleDbDataAdapter ada = new OleDbDataAdapter(sql, conn);        DataSet ds = new DataSet();
        ada.Fill(ds, "admin");
        GridView1.DataSource = ds;
        GridView1.DataBind();
        conn.Close();
    }
}
以上是向数据库表中添加记录,为何总是添加失败?
请高手指点!

解决方案 »

  1.   

    将SQL语句直接到SQL环境下执行一下看看,不就知识了吗
      

  2.   

    string insertsql = "insert into admin values('" + TextBox1.Text + "','" + TextBox2.Text + "')";
    =>
    string insertsql = "insert into [admin]([username], [password]) values('" + TextBox1.Text + "','" + TextBox2.Text + "')";
    表名、字段名两边最好加上括号。
      

  3.   

    具体错误贴出来啊!
    你的结贴率也太"高"了吧---------------------------
    把你的SQL语句放到ACCESS执行看什么结果!!!
    你的字段有关键字 ,正如楼上所说,加中括号 [],
    password---》[password]而且ACCESS的语法跟SQL稍有点差异.
    比如删除:delete [admin]在SQL Server里面没问题,在ACCESS中要写成delete from [admin]你的SQL语句写全点
    insert into admin(字段1,字段2) values(值1,值2)
      

  4.   

    用sql了吗?在“using System.Data;“后添加“using System.Data.Client;”试试
      

  5.   

    直接insert的话,前面不写字段,是很容易出错的。偶也经常碰到