简体   繁体   中英

How do I go about adding records into TWO tables into Access Database?

I am a new member. Also, I am trying to add a record into 2 different tables (customerinfo & studentinfo). My code is below but it only records the textbox fields into the StudentInfo Table only. How should I go about it putting the record into 2 tables simultaneously?

Thanks

 protected void btnRegister_Click(object sender, EventArgs e)
    {
        OleDbConnection mDB = new OleDbConnection();
        mDB.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;Data source="
            + Server.MapPath("~/App_Data/webBase.accdb");
        mDB.Open();
        Type csType = this.GetType();
        //check to ensure that UserId keyed in is not being used by other Customers
        OleDbCommand cmd;
        OleDbCommand cmd1;
        OleDbDataReader rdr;
        OleDbDataReader rdr1;

        string strSQLSelect = "SELECT sUserId FROM studentInfo ORDER BY sUserId";
        string strSQLSelect1 = "SELECT cUserId FROM customerInfo ORDER BY cUserId";
        cmd1 = new OleDbCommand(strSQLSelect1, mDB);
        cmd = new OleDbCommand(strSQLSelect, mDB);
        rdr = cmd.ExecuteReader();
        rdr1 = cmd1.ExecuteReader();
        this.txtPassword.Attributes.Add("value", this.txtPassword.Text);

 // insert new record 
                string strSQLInsert = "INSERT INTO "
                + "studentInfo (sUserId,sPassword,sName,sAddress,sTel,sEmail,sLevel, sLevel2)"
                + "VALUES(@uid,@pw,@name,@addr,@em,@tel,@lvl,@lvl2)";
                ClientScript.RegisterStartupScript(csType, "Successful!", scriptSuccessNewAccount);
                cmd = new OleDbCommand(strSQLInsert, mDB);
                cmd.Parameters.AddWithValue("@uid", txtUserId.Text);
                cmd.Parameters.AddWithValue("@pw", txtPassword.Text);
                cmd.Parameters.AddWithValue("@name", txtName.Text);
                cmd.Parameters.AddWithValue("@addr", txtAddress.Text);
                cmd.Parameters.AddWithValue("@em", txtEmail.Text);
                cmd.Parameters.AddWithValue("@tel", txtTel.Text);
                cmd.Parameters.AddWithValue("@lvl", DropDownList1.Text);
                cmd.Parameters.AddWithValue("@lvl2", DropDownList2.Text);




                string strSQLInsert1 = "INSERT INTO "
    + "customerInfo (cUserId,cPassword,cName,cAddress,cEmail,cTel,cCountry)"
    + "VALUES(@uid,@pw,@name,@addr,@em,@tel,@country)";
                ClientScript.RegisterStartupScript(csType, "Successful!", scriptSuccessNewAccount);
                cmd1 = new OleDbCommand(strSQLInsert1, mDB);
                cmd1.Parameters.AddWithValue("@uid", txtUserId.Text);
                cmd1.Parameters.AddWithValue("@pw", txtPassword.Text);
                cmd1.Parameters.AddWithValue("@name", txtName.Text);
                cmd1.Parameters.AddWithValue("@addr", txtAddress.Text);
                cmd1.Parameters.AddWithValue("@em", txtEmail.Text);
                cmd1.Parameters.AddWithValue("@tel", txtTel.Text);
                cmd1.Parameters.AddWithValue("@country", txtCountry.Text);

                cmd.ExecuteNonQuery();
                mDB.Close();

It looks like you're missing

cmd1.ExecuteNonQuery()

for the other table.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM