参数化SQL select语句

时间:2017-06-09 16:28:45

标签: sql vb.net select

我正在编写一个程序,它从连接到Access数据库的SQL表中提取数据,然后在Windows窗体上填充DataGridView

我想知道在select语句中是否有一种方法来设置我所拉动的数据周围的参数,例如,如果我选择一列并且数据为1或0,da = New OleDbDataAdapter("select IA, CASE 1 return 'Yes' case else return 'NO' FROM dbo_tblPLOps_Data WHERE LANID= '" & txtRepID.Text & "' and date >= '" & DateTimePicker1.Text & "' and date <= '" & DateTimePicker2.Text & "'", newScoreConn) 可以显示1为是,0为否。

我已经尝试调整select语句并编写单元格格式化函数,但似乎没有任何工作。

例如:

da = New OleDbDataAdapter("select IA IF (IA = 1, 'yes', 'no')FROM dbo_tblPLOps_Data WHERE LANID= '" & txtRepID.Text & "' and date >= '" & DateTimePicker1.Text & "' and date <= '" & DateTimePicker2.Text & "'",    newScoreConn)

我也试过了:

DataGridView

我可以调整提取并更改da = New OleDbDataAdapter("select IA as [Info Accuracy] FROM dbo_tblPLOps_Data WHERE LANID= '" & txtRepID.Text & "' and date >= '" & DateTimePicker1.Text & "' and date <= '" & DateTimePicker2.Text & "'", newScoreConn) 列标题:

With Sheets("Sheet1")
    .Range("A3:I3").Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    .Range("A3").Value = "2/12/2015"
    LR = .Range("A:A").Find(What:="*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
    .Range("A1:I" & LR).AutoFilter Field:=1, Criteria1:="<" & Evaluate("=TODAY() - 40")
    .UsedRange.Offset(1, 0).Resize(.UsedRange.Rows.Count - 1).Rows.Delete
    .Range("A1").AutoFilter
    .Calculate
End With

1 个答案:

答案 0 :(得分:0)

我能够调整select语句的语法并获得我想要的内容:

IIF(IA = 5, 'yes','no') 

我知道它必须是Access IF语句的一些变体,但是很难让语法正确显示。