私はこのコードを持っていますが、これは厄介な形で正しく動作します。しかし、どういうわけか、特定の形式では機能せず、このエラーが発生します(行でconnction.Open();
)Unspecified error
コードは、複数の行をテーブルに追加することを想定しています。コードは次のとおりです。
for (int i = 0; st1.Length > i; i++)
UpdateDataBase(st1[i]);
private void UpdateDataBase(char letter)
{
int serialPro = 0;
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" +
"Data Source=C:\\Projects_2012\\Project_Noam\\Access\\myProject.accdb";
try
{
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
string sql = "SELECT tblProInfo.proInfoSerialNum FROM tblProInfo ";
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
connection.Open();
OleDbDataReader reader = command.ExecuteReader();
//get the last!
while (reader.Read())
serialPro = reader.GetInt32(0);
}
sql = "INSERT INTO tblOrderAA (orderAASerialPro, orderAACodon1) "
+ " values (?, ?)";
using (OleDbCommand command = new OleDbCommand(sql, connection))
{
command.CommandType = CommandType.Text;
command.Parameters.AddWithValue("orderAASerialPro", serialPro);
command.Parameters.AddWithValue("orderAACodon1", letter);
command.ExecuteNonQuery();
}
}
}
catch (Exception e)
{
MessageBox.Show("error in:" + e.Message);
}
}
MAX を使用して最後の 1 つを取得できることを知っています。しかし、それは別の形で正しく機能します。だから私はその理由を理解しようと主張します!助けてくれてありがとう。