积极答复者
vb.net 时间和combobox问题

问题
-
Private Sub searchmasa()
Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\ck\Downloads\Software\Green Tools\vb2005 code\sfmenu\sfmenu\sfmenu\db1.mdb;")
Dim objComm As New OleDbCommand()
objComm.CommandText = "SELECT * FROM serial where (Masa like '" & TextBox4.Text & " %' )"
' 這是一個QUERY STRING 來選取資料的
objComm.Connection = objCon
Dim adapter As New OleDbDataAdapter(objComm) '選取資料後可以用OleDbDataAdapter 把資料存到DATATABLE 裡
Dim tbl As New DataTable ' 用來存資料, 等一會可以顯示到DATAGRIDVIEW中
Try
objCon.Open() ' 開啟ACCESS CONNECTION
adapter.Fill(tbl) ' 把資料存到DATATABLE 裡
If tbl.Rows.Count <= 0 Then
MsgBox("No related data in database.", MsgBoxStyle.Information, "Search Result")
DataGridView1.Visible = False
Else
DataGridView1.DataSource = tbl '之後ASSIGN DATAGRIDVIEW 的DATA SOURCE E.G. 用剛剛取來的DATA TABLE
Exit Sub
End If
Catch ex As Exception
MsgBox(ex.Message) '有問題ERROR 時POP UP ERROR MESSAGE BOX
Finally
adapter = Nothing '清理data adapter object
objComm = Nothing '清理command object
objCon.Close() '關掉連線
objCon = Nothing '清理connection object
End Try
End Sub
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged
TextBox4.Text = DateTimePicker1.Text
End Sub
1.为什么数据库找不到相关的时间?在数据库里时间的数据类型(Data type)是"date/time",(format)格式是"Long Date".
textbox4.text=12-August-10
数据库serial表里的Masa(Field)=12-Aug-10(原本是12-August-10 10:19:21 AM,不过我用long date,所以只显示12-August-10.这样不可以吗?)
2.
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Dim conn As New OleDbConnection _
("provider=microsoft.jet.oledb.4.0;data source=c:\db1.mdb")
Dim tbl As New DataTable()
Dim myadapter As New OleDbDataAdapter("select * from serial", conn)
conn.Close()
myadapter.Fill(tbl)
ComboBox1.DataSource = tbl
ComboBox1.DisplayMember = "Application_Name"
ComboBox1.ValueMember = "Serial"
conn.Close()
Label7.Text = ComboBox1.SelectedValue
End Sub
为什么只能显示第一个combobox的数据?我选择其他数据,label7却没有变化?
3.
Dim objCon As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Application.startuppath & "\db1.mdb;")
这样写对吗?
4.RadioButton1.Checked = False '为什么还是会被选择?
答案
-
你好
你的意思是當當試用 DateTimePicker 的 VALUE 來 d查詢DATABASE 時 找不到数据 嗎?
如果是的話
是因為用DATETIMEPICKER 時, 他們會包括了時間
如果時間不一樣的話 這是會找不到數據的
E.G.
12-August-10 10:19:21 AM 和 12-August-10 10:20:21 AM 已經是不同
如果可以的話, 或者你可以在把數據加入到資料庫前轉成 日期, E.G. 不要時間
你可以 用以下的CODE
DateTimePicker1.Value.Date ' 這便會只取 你所選取的日期了 [不會有時間的]
如果你真的要包含時間的話, 我也不知况怎樣解決了
希望其他高人可以幫到你
Please correct me if my concept is wrong
Chi- 已标记为答案 ckjason 2010年8月12日 8:14
全部回复
-
你好
1.为什么数据库找不到相关的时间?在数据库里时间的数据类型(Data type)是"date/time",(format)格式是"Long Date".
textbox4.text=12-August-10
数据库serial表里的Masa(Field)=12-Aug-10(原本是12-August-10 10:19:21 AM,不过我用long date,所以只显示12-August-10.这样不可以吗?)
其實只要資料庫能保存 日期時間的值, 在VB APPLIATION 中 你便可以用 格式化的方式來改變顯然的資訊
例如:用
textbox4.text=DateTimePicker1.Value.ToLongDateString()
格式日期時間 詳情可以參考以下URL
http://msdn.microsoft.com/zh-cn/library/system.datetime_methods(v=VS.71).aspx
在以下URL回覆了, 不知道能不能解決這個問題, 詳情可以參考以下URL
http://social.microsoft.com/Forums/zh-CN/vbasiczhchs/thread/032714d0-e02d-4a33-854d-965a8291ee7c
---
或者你可以嘗試調動一下你的CODE
Label7.Text = ComboBox1.SelectedValue '放到最前面
例如:
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Label7.Text = ComboBox1.SelectedValue '放到最前面, 這樣當COMOBOX從新綁定資料時便不會影響你SELECTEDVALUE 了
Dim conn As New OleDbConnection _
("provider=microsoft.jet.oledb.4.0;data source=c:\db1.mdb")
Dim tbl As New DataTable()
Dim myadapter As New OleDbDataAdapter("select * from serial", conn)
conn.Close()
myadapter.Fill(tbl)
ComboBox1.DataSource = tbl
ComboBox1.DisplayMember = "Application_Name"
ComboBox1.ValueMember = "Serial"
conn.Close()
' Label7.Text = ComboBox1.SelectedValue '放到最前面
End Sub
Please Correct me if my concept is wrong
-
你好
1.为什么数据库找不到相关的时间?在数据库里时间的数据类型(Data type)是"date/time",(format)格式是"Long Date".
textbox4.text=12-August-10
数据库serial表里的Masa(Field)=12-Aug-10(原本是12-August-10 10:19:21 AM,不过我用long date,所以只显示12-August-10.这样不可以吗?)
其實只要資料庫能保存 日期時間的值, 在VB APPLIATION 中 你便可以用 格式化的方式來改變顯然的資訊
例如:用
textbox4.text=DateTimePicker1.Value.ToLongDateString()
格式日期時間 詳情可以參考以下URL
http://msdn.microsoft.com/zh-cn/library/system.datetime_methods(v=VS.71).aspx
在以下URL回覆了, 不知道能不能解決這個問題, 詳情可以參考以下URL
http://social.microsoft.com/Forums/zh-CN/vbasiczhchs/thread/032714d0-e02d-4a33-854d-965a8291ee7c
---
或者你可以嘗試調動一下你的CODE
Label7.Text = ComboBox1.SelectedValue '放到最前面
例如:
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
Label7.Text = ComboBox1.SelectedValue '放到最前面, 這樣當COMOBOX從新綁定資料時便不會影響你SELECTEDVALUE 了
Dim conn As New OleDbConnection _
("provider=microsoft.jet.oledb.4.0;data source=c:\db1.mdb")
Dim tbl As New DataTable()
Dim myadapter As New OleDbDataAdapter("select * from serial", conn)
conn.Close()
myadapter.Fill(tbl)
ComboBox1.DataSource = tbl
ComboBox1.DisplayMember = "Application_Name"
ComboBox1.ValueMember = "Serial"
conn.Close()
' Label7.Text = ComboBox1.SelectedValue '放到最前面
End Sub
Please Correct me if my concept is wrong
Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChangedTextBox4.Text = DateTimePicker1.Value.ToLongDateString()End Sub还是找不到数据。。。 -
你好
你的意思是當當試用 DateTimePicker 的 VALUE 來 d查詢DATABASE 時 找不到数据 嗎?
如果是的話
是因為用DATETIMEPICKER 時, 他們會包括了時間
如果時間不一樣的話 這是會找不到數據的
E.G.
12-August-10 10:19:21 AM 和 12-August-10 10:20:21 AM 已經是不同
如果可以的話, 或者你可以在把數據加入到資料庫前轉成 日期, E.G. 不要時間
你可以 用以下的CODE
DateTimePicker1.Value.Date ' 這便會只取 你所選取的日期了 [不會有時間的]
如果你真的要包含時間的話, 我也不知况怎樣解決了
希望其他高人可以幫到你
Please correct me if my concept is wrong
Chi- 已标记为答案 ckjason 2010年8月12日 8:14