2013-12-12 2 views
-1
using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Data.OleDb; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
       } 

     private void ClearForm() 
     { 
      tb_EmpNr.Clear(); 
      tb_LastName.Clear(); 
      tb_FirstName.Clear(); 
      tb_MiddleName.Clear(); 
      tb_Address.Clear(); 
      tb_Zip.Clear(); 
      tb_City.Clear(); 
      tb_State.Clear(); 
      tb_Phone.Clear(); 
      tb_PayLevel.Clear(); 
      tb_PayGrade.Clear(); 
      tb_DOH.Clear(); 
     }//end clear form 

     private void GetCityState() 
     { 
      try 
      { 
       //create the connection 
       string Query = "SELECT City, State " + 
             " FROM tbl_Zip WHERE Zip=" + "\"" + tb_Zip.Text + "\"" + ""; 
       OleDbConnection Connection = new OleDbConnection(gs_ConnString); 
       OleDbCommand Command = new OleDbCommand(Query, Connection); 
       Connection.Open(); 
       OleDbDataReader Reader; 
       Reader = Command.ExecuteReader(); 
       Reader.Read(); 
       tb_City.Text = Reader.GetString(0); 
       tb_State.Text = Reader.GetString(1); 
       Reader.Close(); 
       Connection.Close(); 
      }//end try 
      catch (Exception error) 
      { 
       MessageBox.Show("Message: " + error.Message, 
        "EMPLOYEE MDB ACCESS GET ZIP ERROR", MessageBoxButtons.OK, 
        MessageBoxIcon.Error); 
      }//end catch 
     }//end get city state 

     private void GetRecFromDatabase(string s_EmpNr) 
     { 
      try 
      { 
       //create the connection 
       string Query = "SELECT EmpNumber, EmpLastName, EmpFirstName, EmpMiddleName, EmpAddress, EmpZip," + 
             " EmpPhone, EmpPayLevel, EmpPayGrade, EmpHireDate" + 
             " FROM tbl_Employee WHERE EmpNumber=" + "\"" + s_EmpNr + "\"" + ""; 
       OleDbConnection Connection = new OleDbConnection(gs_ConnString); 
       OleDbCommand Command = new OleDbCommand(Query, Connection); 
       Connection.Open(); 
       OleDbDataReader Reader; 
       Reader = Command.ExecuteReader(); 
       Reader.Read(); 
       tb_EmpNr.Text = Reader.GetString(0); 
       tb_LastName.Text = Reader.GetString(1); 
       tb_FirstName.Text = Reader.GetString(2); 
       tb_MiddleName.Text = Reader.GetString(3); 
       tb_Address.Text = Reader.GetString(4); 
       tb_Zip.Text = Reader.GetString(5); 
       tb_Phone.Text = Reader.GetString(6); 
       tb_PayGrade.Text = String.Format("{0}", Reader.GetInt32(7)); 
       tb_PayLevel.Text = String.Format("{0}", Reader.GetInt32(8)); 
       tb_DOH.Text = String.Format("{0:d}", Reader.GetDateTime(9)); 
       Reader.Close(); 
       Connection.Close(); 
       GetCityState(); 
      }//end try 
      catch (Exception error) 
      { 
       MessageBox.Show("Message: " + error.Message, 
        "EMPLOYEE MDB ACCESS GET ERROR", MessageBoxButtons.OK, 
        MessageBoxIcon.Error); 
      }//end catch 
     }//end GetRecFromDatabase 




     private void b_Clear_Screen_Click_Click(object sender, EventArgs e) 
     { 
      ClearForm(); 
      tb_EmpNr.Focus(); 
     } 

     private void b_Add_Customer_Click(object sender, EventArgs e) 
     { 
      try 
      { 
       //create the connection 
       string Query = "INSERT INTO tbl_Employee (EmpNumber, EmpLastName, EmpFirstName, EmpMiddleName, " + 
                 "EmpAddress, EmpZip, EmpPhone, EmpHireDate, EmpPayLevel, EmpPayGrade)" + 
          "VALUES(" + "\"" + tb_EmpNr.Text + "\"" + ", "  //strings get double quotes 
             + "\"" + tb_LastName.Text + "\"" + ", " 
             + "\"" + tb_FirstName.Text + "\"" + ", " 
             + "\"" + tb_MiddleName.Text + "\"" + ", " 
             + "\"" + tb_Address.Text + "\"" + ", " 
             + "\"" + tb_Zip.Text + "\"" + ", " 
             + "\"" + tb_Phone.Text + "\"" + ", " 
             + "#" + tb_DOH.Text + "#" + ", " 
             + tb_PayLevel.Text + ", " 
             + tb_PayGrade.Text 
             + ")"; 
       OleDbConnection Connection = new OleDbConnection(gs_ConnString); 
       OleDbCommand Command = new OleDbCommand(Query, Connection); 
       Connection.Open(); 
       OleDbDataReader Reader; 
       Reader = Command.ExecuteReader(); 
       Reader.Close(); 
       Connection.Close(); 
      }//end try 
      catch (Exception error) 
      { 
       MessageBox.Show("Message: " + error.Message, 
        "EMPLOYEE MDB ACCESS ADD ERROR", MessageBoxButtons.OK, 
        MessageBoxIcon.Error); 
      }//end catch 
     } 

     private void b_Get_Customer_Click(object sender, EventArgs e) 
     {//get a specific rec 
      GetRecFromDatabase(tb_EmpNr.Text); 
     } 

     private void tb_Zip_TextChanged(object sender, EventArgs e) 
     {//get the city and state 
      GetCityState(); 
     } 

     private void b_Get_Next_Customer_Click(object sender, EventArgs e) 
     {//get next rec 
      string s_NextRec = Convert.ToString(Convert.ToInt32(tb_EmpNr.Text) + 1); 
      GetRecFromDatabase(s_NextRec); 
     } 

     private void b_Update_Customer_Click(object sender, EventArgs e) 
     {//update the record 
      try 
      { 
       string Query = "UPDATE tbl_Employee SET " + 
            "EmpLastName =" + "\"" + tb_LastName.Text + "\"" + ", " + 
            "EmpFirstName =" + "\"" + tb_FirstName.Text + "\"" + ", " + 
            "EmpMiddleName =" + "\"" + tb_MiddleName.Text + "\"" + ", " + 
            "EmpAddress =" + "\"" + tb_Address.Text + "\"" + ", " + 
            "EmpZip =" + "\"" + tb_Zip.Text + "\"" + ", " + 
            "EmpPhone =" + "\"" + tb_Phone.Text + "\"" + ", " + 
            "EmpHireDate =" + "#" + tb_DOH.Text + "#" + " " + ", " + 
            "EmpPayLevel =" + Convert.ToInt32(tb_PayLevel.Text) + ", " + 
            "EmpPayGrade =" + Convert.ToInt32(tb_PayGrade.Text) + 
           " WHERE EmpNumber =" + "\"" + tb_EmpNr.Text + "\"" + " "; 

       OleDbConnection Connection = new OleDbConnection(gs_ConnString); 
       OleDbCommand Command = new OleDbCommand(Query, Connection); 
       Connection.Open(); 
       OleDbDataReader Reader; 
       Reader = Command.ExecuteReader(); 
       Reader.Close(); 
       Connection.Close(); 
       GetRecFromDatabase(tb_EmpNr.Text); 
      }//end try 
      catch (Exception error) 
      { 
       MessageBox.Show("Message: " + error.Message, 
           "EMPLOYEE MDB ACCESS ERROR", MessageBoxButtons.OK, 
           MessageBoxIcon.Error); 
      }//end catch 
     }//end update click 
    }//end class 
}//end namespace 

이 프로그램은 Microsoft Visual Studio의 디버그 폴더에 저장 한 Microsoft Access 데이터베이스에서 데이터를 가져옵니다. 그러나 질문 제목에 오류가 표시됩니다. 어떤 도움이라도 대단히 감사하겠습니다! -이 오류는 코드 전체에 걸쳐 네 번 나타납니다.'gs_ConnString'이름이 현재 컨텍스트에 없습니다.

+0

gs_connstring은 어디에 정의되어 있습니까? 또는 web.config에서 가져 오는거야? – Monika

답변

0

오류 상태로 gs_ConnString을 정의하지 마십시오. 다음과 같이 추가 할 수 있습니다.

// using statements 
// ... 
namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     private string gs_ConnString = "[put the connection string here]"; 
     public Form1() 
     { 
      InitializeComponent(); 
     } 
     // ... 
    } 
} 
+0

고마워요! 나는 그것을 추가하는 것을 잊어 버렸다고 믿는다. 폼을 지금 만들지 만, 액세스 데이터베이스에서 데이터를 가져 오려고하면 '하나 이상의 필수 매개 변수에 값이 없습니다'라는 오류가 발생합니다. 어떤 아이디어? 데이터를 얻기 위해 Microsoft Access 14를 참조로 추가했습니다. – Rew

+0

필요한 매개 변수를 찾아 연결 문자열에 설정해야합니다. 미안하지만 그걸로 너를 도울 수는 없어. – Jashaszun

+0

필자는 필자가 proff에서 얻은 파라미터가 정확하다는 것을 알고있다. 그러나 잘못된 폴더에 액세스 파일을 추가했을 수 있습니까? 파일에 액세스하기 위해 파일을 추가해야하는 특정 영역이 있습니까? – Rew

관련 문제