ไม่สามารถกดบันทึกข้อมูลได้หลังจากBuildProgramฐานข้อมูลAccess
ขอดู Error ทั้งหมด และ โค้ด ตรงส่วนที่มัน Error หน่อยครับ
Date :
2019-03-14 15:00:39
By :
lamaka.tor
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Data.OleDb.OleDbException (0x80004005): การดำเนินการต้องใช้แบบสอบถามที่สามารถปรับปรุงได้
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteNonQuery()
at ShoeSystem.Calculate.button2_Click(Object sender, EventArgs e) in C:\Users\nueng_000\Desktop\TkSystem\ShoeSystem\Calculate.cs:line 818
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/mscorlib.dll
----------------------------------------
ShoeSystem
Assembly Version: 1.0.0.0
Win32 Version: 1.0.0.0
CodeBase: file:///C:/Program%20Files%20(x86)/Default%20Company%20Name/ManufacturyTKBlock/ShoeSystem.exe
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.34003 built by: FX45W81RTMGDR
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
System.EnterpriseServices
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_32/System.EnterpriseServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.EnterpriseServices.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.0.30319.33440 built by: FX45W81RTMREL
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
สามารถเปิดดูได้ และก็ดึงข้อมูลมาใช้งานได้ แต่ไม่สามารถกดบันทึกและแก้ไขUpdate ได้
คือโคดในโปรเจคไม่มี error อะครับ แต่พอ build มาเป็นโปรแกรมแล้ว ใช้ได้ปกติ แต่ไม่สามารถ แก้ไข บันทึกข้อมูล ลงไปใน database ที่เป็น access ได้
ประวัติการแก้ไข 2019-03-14 15:09:00
Date :
2019-03-14 15:06:36
By :
ronagon1
ที่ไม่ Error เพราะ ปิด try มัน หรือปล่าวครับ
ถ้ามี try ลองเอาออกก่อน
Date :
2019-03-14 15:39:18
By :
lamaka.tor
อันนี้ Code ตรงส่วน Update ครับ
Code ส่วน Save ครับ
อันนี้หลังจากกด Update ตอนBuildเป็นโปรแกรมสำเร็จแล้วเกิดError แต่ตอน Update Save Del ได้ปกติตอนยังไม่ได้ Buildเป็นโปรเจคสำเร็จรูปพอทำเป็นตัว insall แล้ว มันทำได้แค่ดูกับเรียกใช้ ไม่สามารถบันทึกแก้ไข ได้เลยครับ
ีรบกวนด้วยคับ
ประวัติการแก้ไข 2019-03-14 16:59:49
Date :
2019-03-14 16:45:55
By :
ronagon1
ข้อความนี้ อยู่ตรงส่วนไหน หรือ อยู่หน้าไหน ของโค้ด ครับ
Date :
2019-03-14 16:59:12
By :
lamaka.tor
ไม่มีนะครับ ผมแค่กดแก้ไขที่ปุ่มตอนที่โปรแกรมเป็นโปรแกรมสำเร็จรูปแล้วมันเกิดError แต่ตอนรันปกติยังไม่ Buildโปรเจค ไม่เกิด error อะไร ใช้งานได้ปกติ สามารถ บันทึก แก้ไข ลบ ได้ปกติ แต่พอทำการ Buildเป็นFile และลงที่เครื่องถึงเกิดการError
Code (C#)
public partial class FixMaterail : Form
{
private project_shirtDataSet dsEx = new project_shirtDataSet();
private DataTable dataTable;
private string Sql = "";
public FixMaterail()
{
InitializeComponent();
}
private void FixMaterail_Load(object sender, EventArgs e)
{
ClassConnection.connectionDatabase();
ShowData();
EnabledFalse();
buttonDelete.Enabled = true;
buttonSave.Enabled = false;
buttonCancel.Enabled = false;
}
private void FormatDataGridView()
{
dataGridView1.Columns[0].HeaderText = "ID";
dataGridView1.Columns[1].HeaderText = "ชื่อสินค้า";
dataGridView1.Columns[2].HeaderText = "สี";
dataGridView1.Columns[3].HeaderText = "จำนวนที่นับได้";
dataGridView1.Columns[4].HeaderText = "จำนวนที่คำนวณ";
dataGridView1.Columns[5].HeaderText = "จำนวนที่เสียหาย";
dataGridView1.Columns[6].HeaderText = "เครื่องที่ผลิต";
dataGridView1.Columns[7].HeaderText = "วันที่ผลิต";
dataGridView1.Columns[8].HeaderText = "ต้นทุนต่อก้อน";
dataGridView1.Columns[0].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[2].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[3].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[4].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[5].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[6].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[7].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;
dataGridView1.Columns[6].DefaultCellStyle.Format = "dd/MM/yyyy";
dataGridView1.Columns[0].Visible = false;
dataGridView1.Columns[3].Visible = false;
dataGridView1.Columns[4].Visible = false;
dataGridView1.Columns[5].Visible = false;
dataGridView1.Columns[8].Visible = false;
}
private void buttonEdit_Click(object sender, EventArgs e)
{
ClassConnection.count = 2;
buttonEdit.Enabled = false;
buttonDelete.Enabled = false;
buttonCancel.Enabled = true;
buttonSave.Enabled = true;
txt1.Enabled = false;
EnabledTrue();
}
private void buttonDelete_Click(object sender, EventArgs e)
{
DialogResult result = MessageBox.Show("ต้องการลบข้อมูลจริงหรือไม่", "ยืนยันการลบ");
if (result == DialogResult.Cancel)
{
return;
}
OleDbTransaction tr = ClassConnection.connection.BeginTransaction();
try
{
ClassConnection.connectionDatabase();
string Sql = @"DELETE FROM Materail WHERE ID = @id";
ClassConnection.command = new OleDbCommand(Sql, ClassConnection.connection);
ClassConnection.command.Parameters.AddWithValue("id", txt1.Text);
int r = (int)ClassConnection.command.ExecuteNonQuery();
if (r == -1)
{
MessageBox.Show("เกิดข้อผิดพลาด ไม่สามารถลบข้อมูลได้", "ตรวจสอบ");
tr.Rollback();
}
else
{
MessageBox.Show("ลบข้อมูลแล้ว", "ตรวจสอบ");
tr.Commit();
ClearData();
ShowData();
}
}
catch
{
tr.Rollback();
}
finally
{
ClassConnection.connectionDatabase();
tr.Dispose();
}
}
private void buttonCancel_Click(object sender, EventArgs e)
{
ClassConnection.connectionDatabase();
ClearData();
ShowData();
EnabledFalse();
buttonEdit.Enabled = true;
buttonDelete.Enabled = false;
buttonCancel.Enabled = false;
}
private void ShowData()
{
ClassConnection.connectionDatabase();
Sql = @"SELECT * FROM Materail";
ClassConnection.command = new OleDbCommand(Sql, ClassConnection.connection);
OleDbDataReader DataReader = ClassConnection.command.ExecuteReader();
if (DataReader.HasRows)
{
dataTable = new DataTable();
dataTable.Load(DataReader);
dataGridView1.DataSource = dataTable;
FormatDataGridView();
DataReader.Close();
}
else
{
dataTable = new DataTable();
dataTable.Load(DataReader);
dataGridView1.DataSource = dataTable;
FormatDataGridView();
DataReader.Close();
}
}
private void EnabledTrue()
{
txt2.Enabled = true;
txt3.Enabled = true;
txt4.Enabled = true;
txt5.Enabled = true;
}
private void EnabledFalse()
{
txt1.Enabled = false;
txt2.Enabled = false;
txt3.Enabled = false;
txt4.Enabled = false;
txt5.Enabled = false;
}
private void ClearData()
{
txt1.Text = "";
txt2.Text = "";
txt3.Text = "";
txt4.Text = "";
txt5.Text = "";
}
private void SearchData()
{
ClassConnection.connectionDatabase();
Sql = @"SELECT * FROM Materail WHERE Materail.ID AND Materail.วันที่ผลิต BETWEEN #" + dateTimePicker1.Value.AddYears(-543).ToString("M/d/yyyy") + "# And #" + dateTimePicker2.Value.AddYears(-543).ToString("M/d/yyyy") + "#";
ClassConnection.command = new OleDbCommand(Sql, ClassConnection.connection);
OleDbDataReader DataReader = ClassConnection.command.ExecuteReader();
if (DataReader.HasRows)
{
dataTable = new DataTable();
dataTable.Load(DataReader);
dataGridView1.DataSource = dataTable;
FormatDataGridView();
DataReader.Close();
}
else
{
dataTable = new DataTable();
dataTable.Load(DataReader);
dataGridView1.DataSource = dataTable;
FormatDataGridView();
DataReader.Close();
}
}
private void SearchDataAll()
{
ClassConnection.connectionDatabase();
Sql = @"SELECT * FROM Materail";
ClassConnection.command = new OleDbCommand(Sql, ClassConnection.connection);
OleDbDataReader DataReader = ClassConnection.command.ExecuteReader();
if (DataReader.HasRows)
{
dataTable = new DataTable();
dataTable.Load(DataReader);
dataGridView1.DataSource = dataTable;
FormatDataGridView();
DataReader.Close();
}
else
{
dataTable = new DataTable();
dataTable.Load(DataReader);
dataGridView1.DataSource = dataTable;
FormatDataGridView();
DataReader.Close();
}
}
private void button2_Click(object sender, EventArgs e)
{
SearchDataAll();
}
private void button1_Click(object sender, EventArgs e)
{
SearchData();
}
private void buttonSave_Click_1(object sender, EventArgs e)
{
if (ClassConnection.count == 2)
{
OleDbTransaction tr = ClassConnection.connection.BeginTransaction();
{
ClassConnection.connectionDatabase();
string SqlUpdate = @"UPDATE Materail SET ชื่อสินค้า = @b,สี =@c,เครื่องที่ผลิต =@d,วันที่ผลิต =@e WHERE ID = @id";
ClassConnection.command = new OleDbCommand(SqlUpdate, ClassConnection.connection);
ClassConnection.command.Parameters.AddWithValue("b", txt2.Text);
ClassConnection.command.Parameters.AddWithValue("c", txt3.Text);
ClassConnection.command.Parameters.AddWithValue("d", txt4.Text);
ClassConnection.command.Parameters.AddWithValue("e", txt5.Text);
ClassConnection.command.Parameters.AddWithValue("id", txt1.Text);
int result = ClassConnection.command.ExecuteNonQuery();
if (result == -1)
{
MessageBox.Show("เกิดข้อผิดพลาด ไม่สามารถแก้ไขข้อมูลได้", "ตรวจสอบ");
tr.Rollback();
}
else
{
MessageBox.Show("แก้ไขข้อมูลแล้ว", "ตรวจสอบ");
tr.Commit();
}
}
}
buttonSave.Enabled = false;
buttonCancel.Enabled = false;
buttonEdit.Enabled = true;
buttonDelete.Enabled = true;
ClearData();
ShowData();
ClassConnection.count = 0;
EnabledFalse();
}
private void dataGridView1_CellMouseClick_1(object sender, DataGridViewCellMouseEventArgs e)
{
if (e.RowIndex == -1)return;
txt1.Text = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();
txt2.Text = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();
txt3.Text = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();
txt4.Text = dataGridView1.Rows[e.RowIndex].Cells[6].Value.ToString();
txt5.Text = ((DateTime)dataGridView1[7, e.RowIndex].Value).ToString("dd/MM/yyyy");
}
}
Date :
2019-03-14 17:08:50
By :
ronagon1
Load balance : Server 00