|
|
|
อยากทราบเรื่องการ Auto ID ผมใช้ V C# กับ ฐาน ข้อมูล Access 2003 |
|
|
|
|
|
|
|
อยากให้ เลข รัน ลง ฐานข้อมูล เช่น JB00001
พอ เริ่มบันทึกรายชื่อลูกค้าคนใหม่ ก็ เป็น JB00002
ฐานข้อมูล ID เป็น TYPE text นะ ครับ
ขอบคุณล่วงหน้าครับ
Code (C#)
private void Form1_Load(object sender, EventArgs e)
{
{
string conStr = "Provider=Microsoft.Jet.OleDb.4.0;" +
"Data Source=" + Application.StartupPath +
@"\DB1.mdb";
_conn = new OleDbConnection(conStr);
_conn.Open();
}
}
private void Form1_FormClosing(object sender, FormClosedEventArgs e)
{
_conn.Close();
}
private void GenerateID()
{
private void fillID()
{
readData();
string textid = "";
int rowindex = _dataset.Tables["rep"].Rows.Count;
if (rowindex == 0)
{ textid = "AT10001"; }
else
{
textid = _dataset.Tables["rep"].Rows[0]["ATID"].ToString();
textid = textid.Substring(2);
int Addid = 0; Addid = Convert.ToInt32(textid);
textid = "AT" + (Addid + 1);
}
textBox1.Text = textid;
}
private void readData()
{
string sql = "SELECT * FROM Repair";
_command = new OleDbCommand(sql, _conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(_command);
_dataset = new DataSet();
adapter.Fill(_dataset, "rep");
_rowCount = _dataset.Tables["rep"].Rows.Count;
}
private void button1_Click(object sender, EventArgs e)
{
fillID();
}
private void button2_Click(object sender, EventArgs e)
{
string txtid = "";
if (textBox1.Text == ""){MessageBox.Show("Plz insert ID");
return;
}
string sql = "INSERT INTO Repair(ATID, CustomerName)" +
"VALUES (@at, @cust)";
_command = new OleDbCommand(sql, _conn);
_command.Parameters.AddWithValue("at", textBox1.Text);
_command.Parameters.AddWithValue("cust", textBox2.Text);
int d = _command.ExecuteNonQuery();
if (d < 1)
{
toolStripStatusLabel1.Text = "ERROR";
return;
}
else
{
toolStripStatusLabel1.Text = "Complete";
}
clearBindings();
}
private void btnClear_Click(object sender, EventArgs e)
{
if (btnClear.Text == "Clear")
{
clearBindings();
}
else
{
btnClear.Text = "Clear";
bindings();
}
}
private void clearBindings()
{
for (int i = 0; i < groupBox1.Controls.Count; i++)
{
if (groupBox1.Controls[i] is TextBox)
{
TextBox tbx = (TextBox)groupBox1.Controls[i];
tbx.Text = "";
tbx.DataBindings.Clear();
}
}
}
private void bindings()
{
textBox1.DataBindings.Add("Text", _dataset, "rep.ATID");
textBox2.DataBindings.Add("Text", _dataset, "rep.CustomerName");
}
}
}
Tag : Ms Access, C#
|
|
|
|
|
|
Date :
2011-11-09 11:34:37 |
By :
Coffeegunz |
View :
1202 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ใช้การเก็บ ID ไว้อีก Table หนึ่งครับ โดย Update ว่าตอนนี้ถึง ID ที่เท่าไหร่แล้ว
|
|
|
|
|
Date :
2011-11-09 11:56:06 |
By :
webmaster |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนนี้ แอดได้ครับ
แอดได้ 2 ID พอเมื่อ จะแอด ไอดี ที่ 3
มันขึ้นเป็น ID ที่ 2 แล้ว พอเซฟ ก็ error ตามลำดับ อ่ะ
|
|
|
|
|
Date :
2011-11-09 12:12:09 |
By :
Coffeegunz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ช่วยไข ปัญหาทีนะครับ มัน ไม่รัน เลขไป เรื่อยๆ ได้แค่ 1 กับ 2 พอ จะ แอดใหม่ มันก็ ขึ้นเลข ซ้ำเป็น 2 ขึ้นมา แล้วก็ error
ไม่รู้ว่า code ผิดตรงไหน
ขออภัยในความเขลานะครับ
|
|
|
|
|
Date :
2011-11-09 13:41:31 |
By :
Coffeegunz |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|