【发布时间】:2014-04-28 12:43:07
【问题描述】:
我正在尝试从数据库中收集值,如果它们是 X 值,则将背景颜色设置为绿色。
基本上,我有一个 Rota 系统,如果用户正在工作,则更改背景颜色。 select * 只会带回 1 行。
Imports System.Data.SqlClient
Imports System.Data.OleDb
Public Class Form4
Dim Con As SqlConnection
Dim cmd As New OleDbCommand
Dim sqlstring As String
Dim connstring As String
Dim ds As DataSet
Dim da As SqlDataAdapter
Private Sub Form4_Load(sender As Object, e As EventArgs)
connstring = "Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Assignment.mdf;Integrated Security=True;Connect Timeout=30"
Con = New SqlConnection(connstring)
Con.Open()
Dim strSQL As String = "SELECT * from Users"
Dim da As New SqlDataAdapter(strSQL, Con)
Dim ds As New DataSet
da.Fill(ds, "Users")
With cboname
.DataSource = ds.Tables("Users")
.DisplayMember = "Name"
.ValueMember = "Id"
.SelectedIndex = 0
End With
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Con As SqlConnection
Dim cmd As New OleDbCommand
Dim sqlstring As String
Dim connstring As String
Dim ds As DataSet
Dim da As SqlDataAdapter
connstring = "Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Assignment.mdf;Integrated Security=True;Connect Timeout=30"
Con = New SqlConnection(connstring)
Con.Open()
sqlstring = ("SELECT * FROM Rota WHERE UserId ='" & cboname.SelectedIndex & "' and ID ='" & dtp1.Value & "'")
da = New SqlDataAdapter(sqlstring, Con)
ds = New DataSet
da.Fill(ds, "Rota")
End Sub
结束类
在此之后,我知道我需要获取一些 IF 语句,但我不确定如何构造它们。
【问题讨论】:
-
什么的背景颜色?你用什么控件来显示数据?
-
我想让它改变文本框的颜色。希望它看起来像这样:imgur.com/kLhZkN6
-
你有
more than one row分享same ID AND UserId? -
没有。作为一个组合,它们将永远是独一无二的
-
就我个人而言,我会使用 DataReader 而不是 DataAdapter 和 DataSet,并且只是在 Datareader(0)(或任何整数)上使用 Select Case 完成了 While DataReader.Read。但理想情况下,您希望指定列而不是使用 SELECT * 以避免混淆。
标签: sql vb.net visual-studio-2012 sql-server-2012-express