2015-03-31 92 views
-2

我正在学习SQL Server和VB.NET。我的问题是如何选择表格中的特定行并创建条件。在SQL Server表中选择记录

像,我有两列的表name, age,我想选择名称是“XY”的行。

之后,做一个条件有(如果)语句,如:如果年龄(表)大于20

做一些事情或每一个他的名字“XY”打印他的年龄在一个消息。

+0

查找['WHERE'](https://msdn.microsoft.com/en-us/library/ms188047.aspx)子句。 – 2015-03-31 19:27:33

回答

0

您可以在一个查询试试这个是这样的:

select * from yourtable where name = 'XY' and age > 20 
+0

不,我想要使用年龄列 的值(20),如(年龄列=变量) 想要使用它的值 – noor 2015-03-31 19:34:56

+0

@noor: - 不确定您在找什么。如果你想匹配20岁,然后简单地替换> = = – 2015-03-31 19:37:30

+0

然后我怎么可以使用vb.net 表中的数据修改一行或其他东西 – noor 2015-03-31 19:56:11

0

努尔,拉胡尔是被推荐究竟是正确的。这听起来好像对于如何将SQL查询中的数据转换为可用表单很少有经验,因此您可以测试和操作或分析数据。对于技术,请查看ADO和VB.NET中的ADOX用法以及SQL查询。我的建议是让你在VB.NET上购买一本或多本好书,这样你就可以完全理解如何前进。

   Dim filename As String = "C:\myfile.mdb" 
       Dim tablename as String = "mytable" 
       Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data source =" & filename 
       Dim cn As New OleDbConnection(ConnString) 
       cn.Open() 
       Dim qry As String 
       Dim cmd As New OleDbCommand(qry, cn) 

       qry = "SELECT * FROM [" & tablename & "] WHERE name = "XY" and age > 20 ORDER by age " 
       cmd.CommandText = qry 
       cmd.Connection = cn 
       Dim drdata As OleDbDataReader = cmd.ExecuteReader 

       Dim Cnt As Integer = 0 
       Dim name(), age() as Object 
       Do While drdata.Read 
        Cnt += 1 
        Redim Preserve name(Cnt) 
        Redim Preserve age(Cnt) 
        name(Cnt) = drdata.Item("name") 
        age(Cnt) = drdata.Item("age") 
       Loop 
       drdata.Close() 

       For i As Integer = 1 to Cnt 
        If age(i) = 20 Then 
         ' do anything you want here 
        End If 
       Next i