 |
|
ทำไมไม่ขึ้นก็ไม่ทราบครับ ช่วยดูให้หน่อย DataGridView1 ... MessageBox ... MessageBoxIcon ... |
|
 |
|
|
 |
 |
|
Code (VB.NET)
Imports MySql.Data.MySqlClient
Public Class e4jobarrange
Private Sub e4jobarrange_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim dtfInfo1 As New System.Globalization.CultureInfo("en-US")
Dim sqlConnection As MySqlConnection
Dim sqlSelectCommand As MySqlCommand
Dim sqlConnectionString As String
sqlConnectionString = "Database=carproject;Data Source=localhost;User Id=root;Password=admin"
sqlConnection = New MySqlConnection(sqlConnectionString)
Dim sqlSelectCommandString As String
sqlSelectCommandString = "Select job_id, job_type,start_date, job_allowance, driver_id From contract WHERE (start_date BETWEEN " & (DateTimePicker1.ToString) & " AND " & (DateTimePicker2.ToString) & ")"
sqlSelectCommand = New MySqlCommand(sqlSelectCommandString, sqlConnection)
Try
Dim DtWorker As DataTable
DtWorker = New DataTable
Dim sqlDataAdapter As MySqlDataAdapter
sqlDataAdapter = New MySqlDataAdapter(sqlSelectCommand)
sqlDataAdapter.Fill(DtWorker)
DataGridView1.DataSource = DtWorker
Catch ex As Exception
MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
End Class
Tag : - - - -
|
|
 |
 |
 |
 |
Date :
2010-01-08 22:36:40 |
By :
จขกท |
View :
2019 |
Reply :
17 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
sqlSelectCommandString = "Select job_id, job_type,start_date, job_allowance, driver_id From contract WHERE (start_date BETWEEN '" & (DateTimePicker1.ToString) & "' AND '" & (DateTimePicker2.ToString) & "')"
ขาดเครื่องหมาย '
'" & (DateTimePicker1.ToString) & "'
|
 |
 |
 |
 |
Date :
2010-01-08 22:50:27 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คือ พอแก้เสร็จแล้วกดปุ่ม OK มันขึ้นเตือนว่า Unable to concert MySQL date/time value system.datetime ครับ
หรือจะเป็นเพราะformat ของ MySQL กับ VB ไม่เหมือนกัน แล้วถ้าไม่เหมือนกันต้องแก้ไขยังไงครับ
รบกวนด้วยครับผม
ขอบคุณมากครับ
|
 |
 |
 |
 |
Date :
2010-01-08 22:56:42 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ดูค่าใน datetimepicker ซิว่าเป็น format datetime หรือเปล่า
|
 |
 |
 |
 |
Date :
2010-01-08 23:16:09 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็นแบบ short นะครับ
|
 |
 |
 |
 |
Date :
2010-01-08 23:25:14 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็น ค.ศ หรือ พ.ศ.
|
 |
 |
 |
 |
Date :
2010-01-08 23:40:15 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็น ค.ศ. yyyy-mm-dd ครับผม
|
 |
 |
 |
 |
Date :
2010-01-09 13:41:51 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งั้นลอง hard code ลงไปดูซิว่า format นี้ไป query แล้วได้อะไรออกมาไหม
|
 |
 |
 |
 |
Date :
2010-01-09 14:10:43 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เท่าที่ลองทดสอบดู Format จาก MySQL ที่Insertเข้าไปเป็น format 1/31/2010 คือ เดือน-วัน-ปี แต่เป็นแบบVarcharครับ แล้วทีนี้จะต้องดึงออกมาก็เลยคิดว่าน่าจะเป็นรูปแบบ 1/31/2010 เช่นเดียวกันครับ
ทีนี้ผมเลยคิดว่าถ้าจะใช้ datetimepicker ต้องแปลงจาก 1/31/2010 ให้อยู่ในรูปของ date นะครับ
ลองวิเคราะห์ออกมาประมาณนี้ แต่ถ้าต้องแปลงจริงๆก็แปลงไม่ถูกครับ งงๆ ยังไงรบกวนดูหน่อยนะครับ
ปล.ลองhard code ในรูป 1/31/2010 ก็สามารถ query ได้ครับ แต่ถ้าใช้ datetimepicker ก็ไม่ได้ครับผม
|
 |
 |
 |
 |
Date :
2010-01-09 14:18:38 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
วันที่ให้เก็บเป็น type datetime ครับ
ส่วน mysql จะเก็บเป็น format ไหนก็แปลง string นั้นให้ถูก format ซะ
เช่น MySql format = yyyy-mm-ddd
แต่ string เรา MyString = "1/31/2010"
เราก็แปลงเป็น datetime ก่อน แล้วหั่น string นั้นมาเรียงตาม format ที่เราต้องการ
MyTrueFormat = DateTime.Parse(MyString).Year.ToString & "-" & DateTime.Parse(MyString).Month.ToString & "-" & DateTime.Parse(MyString).Day.ToString
|
 |
 |
 |
 |
Date :
2010-01-09 14:39:48 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (VB.NET)
For x = 0 To Val(DateTimePicker2.Value) + 2
sqlConnection.Open()
datMonday = DateAdd("ww", x, DateTimePicker1.Value).Date
sqlInsertCommandString = "INSERT INTO contract (contract_id, job_type, company_name, vehicle_type, vehicle_amount, job_allowance, job_status, start_date, end_date, start_time, end_time, start_place, end_place, job_amount, day_use) VALUES(@contract_id, 'Routine', @company_name, @vehicle_type, @vehicle_amount, @job_allowance, 'w', @start_date, @end_date, @start_time, @end_time, @start_place, @end_place, @job_amount, '" & datMonday & "')"
นี่คือCodeที่ใช้insertข้อมูลเข้าไปครับ
ซึ่งปัญหา ผมคิดว่าอยู่ตรง นี้ครับ
Code (VB.NET)
For x = 0 To Val(DateTimePicker2.Value) + 2
sqlConnection.Open()
datMonday = DateAdd("ww", x, DateTimePicker1.Value).Date
ซึ่งผมเคยลองแก้ตามที่พี่บอกไปแล้วครับ แต่มันก็ต้องเก็บแบบ type varchar ครับถึงเก็บได้ ไม่งั้นก็กลายเป็น 00-00-00 ตลอดเลยครับ
ยังไงผมรบกวนช่วยแก้Codeให้ได้มั๊ยครับ
ขอบคุณและรบกวนจริงๆครับ
|
 |
 |
 |
 |
Date :
2010-01-09 14:49:48 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ถ้าเก็บ datetime เป็น varchar จะใช้ between ใน sql ได้ต้องเป็น formate ปีเดือนวัน คับไม่งั้นข้อมูลที่ได้ไม่ถูกต้องครับก่อน insert ลงแปลงเป็น format ปีเดือนวัน ก่อนคับ
|
 |
 |
 |
 |
Date :
2010-01-09 14:59:20 |
By :
superpheak |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ขอดู format ของ string ใน DateTimePicker หน่อยครับ
|
 |
 |
 |
 |
Date :
2010-01-09 15:09:01 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เป็นแบบนี้ครับ 1/9/2010 2:24 PM
|
 |
 |
 |
 |
Date :
2010-01-09 15:12:01 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
mm-dd-yyyy
|
 |
 |
 |
 |
Date :
2010-01-09 15:24:42 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
แก้ mysql ให้วันที่เป็น type datetime ก่อน ซึ่ง mysql จะมี format วันที่คือ yyyy-mm-dd (เดาล้วนๆ -_-')
พวกนี้คือผมไม่เข้าใจ
Val(DateTimePicker2.Value) --> แปลง string เป็น int ใช่ไหม
datMonday = DateAdd("ww", x, DateTimePicker1.Value).Date --> เพิ่มวันให้ DateTimePicker1 เป็นจำนวน x วันใช่หรือไม่
Code (VB.NET)
For x = 0 To Val(DateTimePicker2.Value) + 2
sqlConnection.Open()
tmp_datMonday = DateTime.Parse(DateTimePicker1.Value).AddDays(x).ToShortDateString()
datMonday = DateTime.Parse(tmp_datMonday).Year.ToString & "-" & DateTime.Parse(tmp_datMonday).Month.ToString & "-" & DateTime.Parse(tmp_datMonday).Day.ToString
sqlInsertCommandString = "INSERT INTO contract (contract_id, job_type, company_name, vehicle_type, vehicle_amount, job_allowance, job_status, start_date, end_date, start_time, end_time, start_place, end_place, job_amount, day_use) VALUES(@contract_id, 'Routine', @company_name, @vehicle_type, @vehicle_amount, @job_allowance, 'w', @start_date, @end_date, @start_time, @end_time, @start_place, @end_place, @job_amount, '" & datMonday & "')"
|
 |
 |
 |
 |
Date :
2010-01-09 15:40:15 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
อื้ม ก็ยังไม่ขึ้นมาใน mysql อยู่ดีครับ
ไม่เป็นไรครับ อย่างน้อยก็ได้ความรู้เกร็ดเล็กเกร็ดน้อยต่างๆ
ขอบคุณมากนะครับ ที่ช่วยเหลือ
เดี๋ยวจะขอไปลองปลุกปล้ำมันอีกสักรอบ
คนไทยมีน้ำใจจริงๆ ^ ^
แต่จะรบกวนขออีเมลล์พี่ๆได้มั๊ยครับ
เผื่อมีคำถามเพิ่มเติมครับผม
ขอบคุณครับ
|
 |
 |
 |
 |
Date :
2010-01-09 15:52:15 |
By :
จขกท |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
คุยกันในนี้แหละครับ 
ผมไม่สะดวกออนเอ็ม ในเอ็มโจทย์ผมเยอะ (สาวๆ) ไม่ได้ออนมานานแล้ว
|
 |
 |
 |
 |
Date :
2010-01-09 16:48:57 |
By :
tungman |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|