2013-07-25 4 views
0

본인은 신입 회원입니다. 또한, 나는 두 개의 다른 테이블 (customerinfo & studentinfo)에 레코드를 추가하려고합니다. 내 코드는 아래에 있지만 텍스트 필드 만 StudentInfo 테이블에 기록합니다. 레코드를 동시에 2 개의 테이블에 저장하려면 어떻게해야합니까?두 테이블의 레코드를 Access 데이터베이스에 추가하는 방법은 무엇입니까?

감사

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(); 

답변

1

당신이 다른 테이블에 대한

cmd1.ExecuteNonQuery() 

을 놓치고있는 것 같습니다.

+0

고마워요! 그게 효과가 있었어. 나에 의해 감독되었고 나는 약 6 분 안에이 해결책을 줄 것이다! –

관련 문제