50分就回答一下吧,我的答案才是正确的
公司主营业务:成都网站建设、网站建设、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出叶县免费做网站回馈大家。
窗体名称如果是Form1
添加两个控件出来,一个是按扭Button1,一个是表格DataGridView1
然后你直接用我的代码就行了不多说了
你最好把我的代码复制到你的代码窗口里再看了,这里太乱了
还有啊你并没有给出数据库名称,是用Windows登陆还是SQL登陆,你要在代码里改一下,我都注释有了的你自己慢慢看下
我用的平台是WIndows VISTA , SQL 2005 , VB 2008
Imports System.Data.SqlClient
Public Class Form1
Dim LeafSqlConnection As SqlConnection '声明这些SQL的类
Dim LeafSqlCommand As SqlCommand
Dim LeafSqlDataAdapter As SqlDataAdapter
Dim LeafData As DataTable '这个是表格的类,用来装你读取的信息的表
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
LeafSqlConnection = New SqlConnection("Data Source=.;Initial Catalog=你的数据库名称 ;Integrated Security=True;Pooling=False") '如果采用windows身份登录就用这个,数据库名称我直接写成'你的数据库名称'了,没有用户名密码
'LeafSqlConnection = New SqlConnection("Initial Catalog=你的数据库名称 ;User ID=sa;PWD=leafsoftpassword") '如果采用SQL用户密码登录用这个,注意的是前面这些数据库名称我直接写成'你的数据库名称'了,你如果要读别的数据库自己改,还有用户密码自己改
LeafSqlCommand = New SqlCommand("Select * from 表1 Where 姓名='小强';", LeafSqlConnection) '这里记得名字的两边要加符号 '
LeafSqlDataAdapter = New SqlDataAdapter
LeafSqlCommand.CommandType = CommandType.Text
LeafSqlDataAdapter.SelectCommand = LeafSqlCommand
LeafData = New DataTable
LeafSqlDataAdapter.Fill(LeafData)
DataGridView1.DataSource = LeafData
End Sub
End Class
试了好久,终于试出来了,把代码发给你分享:
首先,我建了个窗体,放了一个按扭控件,把打开连接EXECL的代码都放在该按扭的click事件里了,你可以根据需要改动。
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim sConnectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" _
"Data Source=E:\myexl.xls;" _
"Extended Properties=Excel 8.0;"
’这里面,E:\myexl.xls换成你自己的excel文件完整路径
Dim objConn As New OleDbConnection(sConnectionString)
objConn.Open()
MsgBox("成功打开连接") ’这句我用来测试能不能连接的,
’下面将建立查询命令
Dim objCmdSelect As New OleDbCommand("SELECT * FROM [11$] where 姓名='李三'", objConn)
'11j是我测试用的sheet名,你换成你自己的,注意格式
'程序默认Excel表的第一行内容为字段名,你换成你自己的内容,并建
'立查询条件
'下面将根据查询条件打开连接。
Dim objAdapter1 As New OleDbDataAdapter()
objAdapter1.SelectCommand = objCmdSelect
'下面将打开的数据放在dataset中
Dim objDataset1 As New DataSet()
objAdapter1.Fill(objDataset1, "XLData")
’下面将数据传给DataGrid1控件
DataGrid1.DataSource = objDataset1.Tables(0).DefaultView
' Clean up objects.
objConn.Close()
End Sub
这个只能是一一判断的:
为了叙述简单,假设有两个可选条件,内容在: TextBox1(姓名)、TextBox2(部门)
主要是构造 Sql的Where子句,那么:
Dim MySqlWhere As String
MySqlWhere=""
If TextBox1.Text"" Then
MySqlWhere= " Where 姓名 = '" TextBox1.Text "'"
End If
If TextBox2.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 部门 = '" TextBox1.Text "'"
Else
MySqlWhere= MySqlWhere " And 部门 = '" TextBox1.Text "'"
End If
End If
'如果还有第3,第4,那只能这样了:
If TextBox3.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 字段3 = '" TextBox3.Text "'"
Else
MySqlWhere= MySqlWhere " And 字段3 = '" TextBox3.Text "'"
End If
End If
......
If TextBoxn.Text"" Then
if MySqlWhere="" Then
MySqlWhere= " Where 字段n = '" TextBoxn.Text "'"
Else
MySqlWhere= MySqlWhere " And 字段n = '" TextBoxn.Text "'"
End If
End If
注意:对于字符类型的字段,当然要用单引号,上面那样的,但是对于数值类型,就不要这个单引号的;但是对于日期类型,那么与字符类型不同的是,把前后的2个单引号,改为井号就是“#”, 这是很多初学者容易忽略的,也是很多教科书上不提的问题。
对于文本框,由于.NET不提供控件数组,但是还是可以用语句来实现类似数组的操作,这样以上IF语句,就可以简化。
if ”昵称“ = “喵星人” then
if "年龄" = 18 then
if "性别" = “男” then
if "所在地" = “武汉” then
if "星座" = “魔蝎座” then
if "血型" = “O” then
else
end if
else
end if
else
end if
else
end if
else
end if
else
end if
你是说这个么? 要是后面的值也有选项那就是得做集合了