ผมมี TextBox อยู่ TextBox หนึ่ง เพื่อใช้ในการค้นหา ผมจะเขียนโค้ดให้มันค้นหา ยังไงครับถึงจะค้นหาได้หลายรูปแบบ เช่น ค้นหาตาม รหัส ตาม ชื่อ ตามวันเดือนปี
ก็ไม่น่าจะยากน่ะครับ เพิ่มพวก OR / AND เข้าไปครับ
Code (C#)
string sql = "select * From CreateBook where StepID=@StepID";
if(strCode != "")
{
sql = sql + " and Code = @Code";
}
Date :
2013-06-05 06:33:20
By :
mr.win
มัน error ว่า
Conversion failed when converting the varchar value 'มาประชุม' to data type int.
Date :
2013-06-05 10:07:35
By :
ธีระวุฒิ
แปลง varchar value 'มาประชุม' ให้เป็น int. ล้มเหลว
Date :
2013-06-05 12:01:34
By :
a
เราต้องแก้ไขยังไงครับ
จากโค้ดด้านบนอ่ะครับ
Date :
2013-06-05 12:50:07
By :
ธีระวุฒิ
จากโค้ดนี้ผมต้องแก้ยังไงหรอครับ....หรือที่ว่า Column มายถึง DataBass ครับ งง
private void btnsert_Click(object sender, EventArgs e)
{
string sql = "select * From Dispatch where DID = @DID "; //and Heading = @Heading
if (strConn != "")
{
sql = sql + "and Heading = @Heading";
}
comm = new SqlCommand(sql, conn);
comm.Parameters.Add("@DID", SqlDbType.VarChar).Value = txtSearchBook.Text.Trim();
comm.Parameters.Add("@Heading", SqlDbType.VarChar).Value = txtSearchBook.Text.Trim();
da = new SqlDataAdapter(comm);
ds = new DataSet();
da.Fill(ds, "pr");
if (ds.Tables["Pr"].Rows.Count > 0)
{
txtDID.Text = ds.Tables["pr"].Rows[0][0].ToString();
txtDocID.Text = ds.Tables["pr"].Rows[0][1].ToString();
txtDescription.Text = ds.Tables["pr"].Rows[0][2].ToString();
dtpDate.Value = Convert.ToDateTime(ds.Tables["pr"].Rows[0][3]);
cmbConfidence.Text = ds.Tables["pr"].Rows[0][4].ToString();
cmbSpeed.Text = ds.Tables["pr"].Rows[0][5].ToString();
txtHeading.Text = ds.Tables["pr"].Rows[0][6].ToString();
txtattain.Text = ds.Tables["pr"].Rows[0][7].ToString();
txtdepart.Text = ds.Tables["pr"].Rows[0][8].ToString();
txtComment.Text = ds.Tables["pr"].Rows[0][10].ToString();
byte[] imgByte = (byte[])ds.Tables["pr"].Rows[0][9];
MemoryStream imgStream = new MemoryStream(imgByte);
pictureBox1.Image = Image.FromStream(imgStream);
txtAttachment.Focus();
txtAttachment.SelectAll();
MessageBox.Show("มีข้อมูล");
}
else
{
MessageBox.Show("ไม่มีข้อมูล");
}
}
Date :
2013-06-05 14:13:04
By :
ธีระวุฒิ
Code (C#)
comm.Parameters.Add("@DID", SqlDbType.VarChar).Value = txtSearchBook.Text.Trim();
comm.Parameters.Add("@Heading", SqlDbType.VarChar).Value = txtSearchBook.Text.Trim();
parameter 2 ตัวมีค่า = txtSearchBook.Text.Trim(); เหมือนกัน หรือว่าค้นจาก textbox อันเดียว
if (strConn != "")
{
sql = sql + "and Heading = @Heading";
}
strConn ของคุณคืออะไร
อาจจะอ้างถึง textbox ก้ได้
////////////////////////////////////////////////////////////
สมมติ มี 2 textbox ที่ใช้สำหรับการค้นหา
DID <<< Textbox อันที่ 1
Heading <<< Textbox อันที่ 2
string sql = "select * From Dispatch where DID = @DID "; // กรณีนี้ @DID ต้องไม่ใช่ค่าว่าง
คุณเอาจะแยกออกอีกก็ได้
// จากนั้น ก้ต่อด้วย textbox ชื่อ Heading
if (Heading.text != "")
{
sql = sql + "and Heading = @Heading";
}
----------------------------
1.Parameters นั้นทุกต้องหรือยัง
2.@DID ต้องมีค่าเสมอ
3.@Heading มีหรือไม่ก็ได้
4.เข้าใจลำดับข้อมูลใน ds.Tables หรือยัง
Date :
2013-06-05 15:57:21
By :
a
พอเข้าใจขึ้นมาระดับหนึ่งแล้วครับ
ขอบพระคุณที่ช่วยแนะนำครับผม...ขอบคุณครับ
Date :
2013-06-05 16:22:54
By :
ธีระวุฒิ
Load balance : Server 02