INSERT INTO AddressBook () 括号里加上所有字段试试,
好久没碰asp了

解决方案 »

  1.   

    不行啊,还是一样的错误,是不是
    conn = "Provider=SQLOLEDB; Integrated Security=SSPI; Initial Catalog=AddressDB;"
    有什么问题
      

  2.   

    真不明白,你为什么这样链数据库
    为什么不用dsn呢?
    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "dsn=yourdsn;uid=yourname;pwd=youropass
    "多简单!
      

  3.   

    Set Conn=Server.CreateObject("ADODB.Connection")
    Conn.Open "dsn=yourdsn;uid=yourname;pwd=youropass"
    Set Rs=Server.CreateObject("adodb.recordset")
    Rs.open "select * from yourtable" 
    下面就可以操作了
      

  4.   

    sorry,错了,这样:
    Rs.open "select * from yourtable" ,conn,1,3
      

  5.   

    一般情况下都是用   andy_123(心碎了无痕) 的方法
      

  6.   

    不好意思dsn是什么意思,我不知道
      

  7.   

    开始->程序->管理工具->ODBC数据源,添加一个系统dsn,指向你的数据库
    至于什么是dsn,不是一两句能说情的,你看看书吧
      

  8.   

    如果数据库是sql server7引用这个最方便
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %>贴段代码给你
    <%@ Import Namespace="System.Data" %>
    <%@ Import Namespace="System.Data.SqlClient" %><html>
    <script language="C#" runat="server">    SqlConnection myConnection;    protected void Page_Load(Object Src, EventArgs E)
        {
            myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");        if (!IsPostBack)
                BindGrid();
        }    public void AddAuthor_Click(Object sender, EventArgs E)
        {
            Message.InnerHtml = "";        if (Page.IsValid)
            {            String insertCmd = "insert into Authors (au_id, au_lname, au_fname, phone, address, city, state, zip, contract) values (@Id, @LName, @FName, @Phone, @Address, @City, @State, @Zip, @Contract)";            SqlCommand myCommand = new SqlCommand(insertCmd, myConnection);            myCommand.Parameters.Add(new SqlParameter("@Id", SqlDbType.NVarChar, 11));
                myCommand.Parameters["@Id"].Value = Server.HtmlEncode(au_id.Value);            myCommand.Parameters.Add(new SqlParameter("@LName", SqlDbType.NVarChar, 40));
                myCommand.Parameters["@LName"].Value = Server.HtmlEncode(au_lname.Value);            myCommand.Parameters.Add(new SqlParameter("@FName", SqlDbType.NVarChar, 20));
                myCommand.Parameters["@FName"].Value = Server.HtmlEncode(au_fname.Value);            myCommand.Parameters.Add(new SqlParameter("@Phone", SqlDbType.NChar, 12));
                myCommand.Parameters["@Phone"].Value = Server.HtmlEncode(phone.Value);            myCommand.Parameters.Add(new SqlParameter("@Address", SqlDbType.NVarChar, 40));
                myCommand.Parameters["@Address"].Value = Server.HtmlEncode(address.Value);            myCommand.Parameters.Add(new SqlParameter("@City", SqlDbType.NVarChar, 20));
                myCommand.Parameters["@City"].Value = Server.HtmlEncode(city.Value);            myCommand.Parameters.Add(new SqlParameter("@State", SqlDbType.NChar, 2));
                myCommand.Parameters["@State"].Value = state.Value;            myCommand.Parameters.Add(new SqlParameter("@Zip", SqlDbType.NChar, 5));
                myCommand.Parameters["@Zip"].Value = Server.HtmlEncode(zip.Value);            myCommand.Parameters.Add(new SqlParameter("@Contract", SqlDbType.NVarChar,1));
                myCommand.Parameters["@Contract"].Value = contract.Value;            myCommand.Connection.Open();            try
                {
                    myCommand.ExecuteNonQuery();
                    Message.InnerHtml = "<b>Record Added</b><br>" + insertCmd + "<p>";
                }
                catch (SqlException e)
                {
                    if (e.Number == 2627)
                        Message.InnerHtml = "ERROR: A record already exists with the same primary key<p>";
                    else
                        Message.InnerHtml = "ERROR: Could not add record, please ensure the fields are correctly filled out<p>";
                  Message.Style["color"] = "red";
                }            myCommand.Connection.Close();
            }        BindGrid();
        }    public void BindGrid()
        {
            SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);        DataSet ds = new DataSet();
            myCommand.Fill(ds, "Authors");        MyDataGrid.DataSource=ds.Tables["Authors"].DefaultView;
            MyDataGrid.DataBind();
        }</script>
    ……
      

  9.   

    你只要把
    myConnection = new SqlConnection("server=(local)\\NetSDK;database=pubs;Trusted_Connection=yes");中的server改为sql server的机器名字就可以了