การค้นหาจากวันที่ จาก test ที่เลือกวันที่ได้ ต้องทำอย่างไรบ้างครับ
ต้องการค้น หาจากวันที่อะครับ จาก textที่เลือกวันที่จากปฏิทิน แต่ลองค้นหาแล้ว มันไม่แสดง เลยอะครับ ต้องทำอย่างไรครับ
Code (C#)
private void search()
{
dataGridView1.DataSource = null;
// Set Column
DataGridViewTextBoxColumn c01 = new DataGridViewTextBoxColumn() { DataPropertyName = "receive_no", HeaderText = "receive_no",Width=100 };
DataGridViewTextBoxColumn c02 = new DataGridViewTextBoxColumn() { DataPropertyName = "invoice_no", HeaderText = "invoice_no" };
DataGridViewTextBoxColumn c03 = new DataGridViewTextBoxColumn() { DataPropertyName = "product_code", HeaderText = "product_code" };
DataGridViewTextBoxColumn c04 = new DataGridViewTextBoxColumn() { DataPropertyName = "add_date", HeaderText = "add_date", Width = 120 };
DataGridViewTextBoxColumn c05 = new DataGridViewTextBoxColumn() { DataPropertyName = "product_name", HeaderText = "product_name" ,Width = 180 };
DataGridViewTextBoxColumn c06 = new DataGridViewTextBoxColumn() { DataPropertyName = "product_unit_name", HeaderText = "product_unit_name" };
DataGridViewTextBoxColumn c07 = new DataGridViewTextBoxColumn() { DataPropertyName = "remark", HeaderText = "remark"};
DataGridViewTextBoxColumn c08 = new DataGridViewTextBoxColumn() { DataPropertyName = "quantity", HeaderText = "quantity" };
DataGridViewComboBoxColumn c09 = new DataGridViewComboBoxColumn() { DataPropertyName = "receive_type_id", HeaderText = "receive_type_id", DataSource = GetTable("select * from receives_types"), DisplayMember = "name", ValueMember = "id", Width = 120 };
DataGridViewComboBoxColumn c10 = new DataGridViewComboBoxColumn() { DataPropertyName = "supplier_id", HeaderText = "supplier_id", DataSource = GetTable("select * from suppliers"), DisplayMember = "company_name", ValueMember = "id" };
// Add Column
dataGridView1.Columns.AddRange(c01, c02, c03, c05, c06, c07, c08, c09, c10, c04);
// Set DataSource
dataGridView1.DataSource = GetTable2(
"select receive_no,invoice_no,product_code,(receive_details.remark),product_name,product_unit_name,quantity,receive_type_id,supplier_id,(receives.add_date) FROM receive_details JOIN receives ON receives.id=receive_details.receive_id join stock_incomings on stock_incomings.receive_detail_id=receive_details.id where receives.add_date like'" + textdate1.Text + "%' ");
}
private DataTable GetTable2(String SQL)
{
if (conn.State == ConnectionState.Closed)
conn.Open();
SqlDataAdapter sda1 = new SqlDataAdapter(SQL, conn);
DataTable dt1 = new DataTable();
sda1.Fill(dt1);
return dt1;
}
อันนี้ลอง debug ดูแล้วครับก็ ไช่แต่ข้อมูลไม่แสดงครับ
Tag : .NET, Ms SQL Server 2012, C#
ประวัติการแก้ไข 2015-11-04 15:39:43 2015-11-04 15:45:51 2015-11-04 15:46:28
Date :
2015-11-04 15:37:07
By :
phuriwat
View :
1255
Reply :
26
ดู format receives.add_date ในฐานข้อมูลหน่อยครับ
datetime ชอบมีปัญหาที่ format
ไม่งั้นลองใช้ DataSource Wizard ดูว่า SQL syntex มันเขียนยังไงครับ
Date :
2015-11-04 16:19:01
By :
lamaka.tor
ตอบความคิดเห็นที่ : 1 เขียนโดย : lamaka.tor เมื่อวันที่ 2015-11-04 16:19:01
ผมเปลี่ยนไป เป็น date แล้วอ่าครับ
รายละเอียดของการตอบ ::
Code (SQL)
CREATE TABLE [dbo].[receives] (
[id] INT IDENTITY (1, 1) NOT NULL,
[purchase_out_order_id] INT NULL,
[supplier_id] INT NULL,
[receive_no] VARCHAR (20) NULL,
[invoice_no] VARCHAR (20) NULL,
[add_date] DATE DEFAULT (getdate()) NULL,
[user_add] INT NULL,
[receive_type_id] TINYINT NULL,
[receive_status_id] TINYINT NULL,
PRIMARY KEY CLUSTERED ([id] ASC)
);
Date :
2015-11-04 16:21:35
By :
phuriwat
มันน่าจะเป็น
like #" + textdate1.Text + "# "
รึป่าวครับ
เขาว่ากันว่า
Date :
2015-11-04 16:46:01
By :
lamaka.tor
ไม่งั้นลองใช้ DataSource Wizard ดูว่า SQL syntex มันเขียนยังไงครับ
Date :
2015-11-04 17:06:42
By :
lamaka.tor
ยัง ไม่ได้ เลยอ่าครับ อันนี้ผมลอง ไป ดู ใน ที่บอก แล้วอะครับมันเป็น แบบ นี้ ครับ แต่ข้อมูลไม่ขึ้น
Date :
2015-11-04 17:43:07
By :
phuriwat
ตรง filter ใส่แค่วันที่ ๆๆ
เด๋วมันจะแปลงเป็นโค้ดให้เอง
ประวัติการแก้ไข 2015-11-04 17:55:25
Date :
2015-11-04 17:50:37
By :
lamaka.tor
ได้แบบ นี้อ่าครับ แต่ ข้อมูลก็ยังไม่มา
Date :
2015-11-04 18:00:56
By :
phuriwat
มัน error นี่อะครับ The conversion of a varchar data type to a datetime data type resulted in an out-of-range value.
อันนี้โค๊ด ที่ทำมาครับต้องแก้ยังไงครับ
Code (C#)
string input_combobox2 =
"SELECT add_date FROM receives WHERE (add_date = CONVERT(DATETIME, '"+date.EditValue+"', 102))";
SqlDataAdapter ad = new SqlDataAdapter(input_combobox2, conn);
DataTable dt = new DataTable();
ad.Fill(dt);
dataGridView1.DataSource = null;
dataGridView1.DataSource = dt;
ประวัติการแก้ไข 2015-11-05 11:33:01 2015-11-05 11:33:18 2015-11-05 11:34:00
Date :
2015-11-05 11:32:36
By :
phuriwat
ประกาศตัวแปร
Code (C#)
string selectday = "";
ดับเบิลคลิกที่ Datatime วาง Code
Code (C#)
DateTimeFormatInfo dateFormat = new CultureInfo("en-US").DateTimeFormat;
selectday = Convert.ToString(Datetimepicker.Value.ToString("yyyy/MM/dd", dateFormat));
ถ้ายังไม่ได้ลองสลับตำแหน่ง "yyyy/MM/dd" ดูครับ
SELECT add_date FROM receives WHERE add_date = '"& selectday &"'
เพราะว่าส่วนใหญ่ เวลาเราไปเปิดดูตารางใน Sql รูปแบบวันที่จะเป็น 5/11/2558
แต่เวลาเราใช้คำสั่ง Select มันจะออกมาในรูแบบ 2015-11-05 ดังนั้นต้องปรับ Format ให้ตรงกันก่อนครับ
ประวัติการแก้ไข 2015-11-05 11:43:21 2015-11-05 11:45:15 2015-11-05 11:47:29 2015-11-05 11:50:15 2015-11-05 11:56:55
Date :
2015-11-05 11:43:01
By :
TheCom
ได้แล้วครับ ขอบคุณทั้งสองท่านมากเลยครับ ^^
Date :
2015-11-05 17:12:57
By :
phuriwat
แล้วถ้าจะ ไห้มัน default เป็นค่าวันที่ ของครั้งแรกอย่างไรอ่าครับแบบ วันแรกที่แอด เข้า database อะครับ เช่น เดือนที่แล้วแอดครั้งแรก
วัน xx-xx-xx ก็จะโชว์ วันนี้ ถึงปัจจุบันเลยอ่าครับ คือจะตั้งวันแรก ไห้มัน เพราะอัน2 มันเป็นปัจจุบันอยู่แล้วครับ
ประวัติการแก้ไข 2015-11-06 09:21:39
Date :
2015-11-06 09:11:26
By :
phuriwat
SELECT MIN(???) ได้ป่าวครับ
Date :
2015-11-06 09:21:51
By :
lamaka.tor
เอาแบบบ้านๆคือ
select min ออกมาเก็บไว้ก่อนครับ(ประกาศตัวแปรมาเก็บมันก็ได้)
พอ Insert Update ก็ค่อยเอาค่านั้นไปใส่ ครับ
Date :
2015-11-06 09:41:18
By :
lamaka.tor
ติดอยู่อ่าครับ
Code (C#)
SqlDataAdapter time = new SqlDataAdapter(
"select add_date from receives where min(id)"
, conn);
dateTimePicker1.Value.Add(time);
ประวัติการแก้ไข 2015-11-06 09:51:42 2015-11-06 09:54:27
Date :
2015-11-06 09:51:10
By :
phuriwat
55555
นึกว่าจะลืมแปลงเป็นวันที่
Date :
2015-11-06 10:37:20
By :
lamaka.tor
ได้แล้ว ครับ ขอบคุณครับ
Code (C#)
private void dateTimePicker2_ValueChanged(object sender, EventArgs e)
{
DateTimeFormatInfo dateFormat = new CultureInfo("en-US").DateTimeFormat;
selectday2 = Convert.ToString(dateTimePicker2.Value.ToString("yyyy/MM/dd 23:59:59", dateFormat));
}
Date :
2015-11-06 11:16:29
By :
phuriwat
Load balance : Server 02