Microsoft Access 2013 (데이터베이스 이름 : kyt, 테이블 이름 : vg_info_table)을 사용합니다."처리되지 않은 'System.InvalidOperationException'형식의 예외가 System.Data.dll에서 발생했습니다."
: 나는이 작동이 코드를 실행,하지만 난 콤보 상자에서 선택한 값을 선택하고 전송 버튼을 클릭하면 (값이 내 데이터베이스에 기록해야한다 vg_1 필드) 때 나는 오류 (
komut.ExecuteNonQuery();
)를 얻을 'System.InvalidOperationException'형식 의 처리되지 않은 예외가 system.data.dll에서 발생
추가 정보 : ExecuteNonQuery는 : 연결 속성이 가 초기화되지 않았습니다.
내 전체 코드는 여기에 있습니다.
namespace afeusdotnet
{
public partial class verigirisekranisorular1 : UserControl {
OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=kyt.accdb;Persist Security Info=False;");
DataTable tablo = new DataTable();
OleDbDataAdapter adptr = new OleDbDataAdapter();
OleDbCommand komut = new OleDbCommand();
DataSet dset = new DataSet();
verigirisekranisorular2 soru2 = new verigirisekranisorular2();
public verigirisekranisorular1() {
InitializeComponent();
}
void Listele(){
bag.Open();
OleDbDataAdapter adptr = new OleDbDataAdapter("Select * From vg_info_table", bag);
adptr.Fill(tablo);
adptr.Dispose();
bag.Close();
}
private void button2_Click(object sender, EventArgs e) {
if (comboBox1.Text.ToString() == "")
MessageBox.Show("ilgili alanları doldurunuz");
else {
bag.Open();
komut.CommandText = "INSERT INTO vg_info_table(vg_1) VALUES ('" + comboBox1.Text.ToString() + "')";
komut.ExecuteNonQuery();
bag.Close();
Listele();
MessageBox.Show("kaydınız tamamlandı diğer sayfaya geçiniz");
}
}
}
생성자 내에서 oledbcommand에 대한 연결을 전달해야합니다. – LazyOfT
** 경고 ** 귀하의 코드는 SQL 주입 공격에 취약합니다! –