ฉันได้รับปัญหานั้นในอดีต ฉันใช้PostgreSQLและเมื่อฉันเรียกใช้โปรแกรมบางครั้งมันก็เชื่อมต่อและบางครั้งมันก็แสดงข้อผิดพลาดเช่นนั้น
เมื่อฉันทดสอบรหัสของฉันฉันใส่รหัสการเชื่อมต่อที่บรรทัดแรกใต้แบบฟอร์มสาธารณะ นี่คือตัวอย่าง:
ก่อน:
public Form1()
{
//HERE LIES SOME CODES FOR RESIZING MY CONTROLS DURING RUNTIME
//CODE
//CODE AGAIN
//ANOTHER CODE
//CODE NA NAMAN
//CODE PA RIN!
//Connect to Database to generate auto number
NpgsqlConnection iConnect = new NpgsqlConnection("Server=localhost;Port=5432;User ID=postgres;Password=pass;Database=DB");
iConnect.Open();
NpgsqlCommand iQuery = new NpgsqlCommand("Select * from table1", iConnect);
NpgsqlDataReader iRead = iQuery.ExecuteReader();
NpgsqlDataAdapter iAdapter = new NpgsqlDataAdapter(iQuery);
DataSet iDataSet = new DataSet();
iAdapter.Fill(iDataSet, "ID");
MessageBox.Show(iDataSet.Tables["ID"].Rows.Count.ToString());
}
ตอนนี้:
public Form1()
{
//Connect to Database to generate auto number
NpgsqlConnection iConnect = new NpgsqlConnection("Server=localhost;Port=5432;User ID=postgres;Password=pass;Database=DB");
iConnect.Open();
NpgsqlCommand iQuery = new NpgsqlCommand("Select * from table1", iConnect);
NpgsqlDataReader iRead = iQuery.ExecuteReader();
NpgsqlDataAdapter iAdapter = new NpgsqlDataAdapter(iQuery);
DataSet iDataSet = new DataSet();
iAdapter.Fill(iDataSet, "ID");
MessageBox.Show(iDataSet.Tables["ID"].Rows.Count.ToString());
//HERE LIES SOME CODES FOR RESIZING MY CONTROLS DURING RUNTIME
//CODE
//CODE AGAIN
//ANOTHER CODE
//CODE NA NAMAN
//CODE PA RIN!
}
ฉันคิดว่าโปรแกรมต้องอ่านการเชื่อมต่อก่อนที่จะทำอะไรฉันไม่รู้แก้ไขฉันถ้าฉันผิด แต่จากการวิจัยของฉันมันไม่ใช่ปัญหารหัส - จริงๆแล้วมันมาจากตัวเครื่อง
Happy Coding!