السلام عليكــم ورحمـة الله وبركاتــة ،،
تحية طيبة
حصلت عندي مشكلة في ال Data Base
مشروعي عبارة عن فحص الاكواد وايجاد الاخطاء Static
المهم عند تنفيذ البرنامج يتم الفحص للمرة الاولى بنجاح
عند تكرار التجربة يطلع هذا الخطأ
Concurrency violation: the UpdateCommand affected 0 of the expected 1 records
الكود الموجود فيه المشكلة
public void stgraph(SymbT st)
{
//
olecon.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test1.mdb";
olecon.Open();
adapt = new OleDbDataAdapter("Select * FROM STG", olecon);
commbld = new OleDbCommandBuilder(adapt);
commbld.QuotePrefix = "[";
commbld.QuoteSuffix = "]";
adapt.Fill(dtTable);
//
for (int i = 0; i < p.stsize; i++)
{
if (p.symbolTable.type == p.types[0])
{
if (p.symbolTable.lexeme == "filename")
{
DataRow dr = dtTable.NewRow();
dr["ID"] = dtTable.Rows.Count;
dr[1] = "";
dtTable.Rows.Add(dr);
//rowpos = dtTable.Rows.Count - 1;
if (dtTable.Rows.Count != 0)
{
dtTable.Rows[rowpos]["ID"] = rowpos + 1;
dtTable.Rows[rowpos][1] = p.symbolTable.lexeme;
adapt.Update(dtTable);
}
}
}
if (p.symbolTable.type == p.types[0])
{
if (p.symbolTable.lexeme == "Open")
{
dtTable.Rows[rowpos]["Enter1"] = rowpos + 1;
dtTable.Rows[rowpos][2] = p.symbolTable.lexeme;
adapt.Update(dtTable);
}
else if (p.symbolTable.lexeme == "Read")
{
dtTable.Rows[rowpos]["Enter2"] = rowpos + 1;
dtTable.Rows[rowpos][3] = p.symbolTable.lexeme;
adapt.Update(dtTable);
}
else if (p.symbolTable.lexeme == "Write")
{
dtTable.Rows[rowpos]["Enter2"] = rowpos + 1;
dtTable.Rows[rowpos][3] = p.symbolTable.lexeme;
adapt.Update(dtTable);
}
else if (p.symbolTable.lexeme == "Close")
{
dtTable.Rows[rowpos]["Enter3"] = rowpos + 1;
dtTable.Rows[rowpos][4] = p.symbolTable.lexeme;
adapt.Update(dtTable);
}
}
}
olecon.Close();
}وفي المرفقات المشروع كامل بلغة C# 2008 Express
اذا عندكم اي اقتراحات في البرمجة اتمنى تضيفوها هنا او تعديل على الكود حتى استفيد منها
ومارأيكم في واجهة البرنامج
شاكر لكم مقدماً
مع التحية