50分就回答一下吧,我的答案才是正確的
公司主營業(yè)務(wù):成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出葉縣免費(fèi)做網(wǎng)站回饋大家。
窗體名稱如果是Form1
添加兩個(gè)控件出來,一個(gè)是按扭Button1,一個(gè)是表格DataGridView1
然后你直接用我的代碼就行了不多說了
你最好把我的代碼復(fù)制到你的代碼窗口里再看了,這里太亂了
還有啊你并沒有給出數(shù)據(jù)庫名稱,是用Windows登陸還是SQL登陸,你要在代碼里改一下,我都注釋有了的你自己慢慢看下
我用的平臺(tái)是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 '這個(gè)是表格的類,用來裝你讀取的信息的表
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
LeafSqlConnection = New SqlConnection("Data Source=.;Initial Catalog=你的數(shù)據(jù)庫名稱 ;Integrated Security=True;Pooling=False") '如果采用windows身份登錄就用這個(gè),數(shù)據(jù)庫名稱我直接寫成'你的數(shù)據(jù)庫名稱'了,沒有用戶名密碼
'LeafSqlConnection = New SqlConnection("Initial Catalog=你的數(shù)據(jù)庫名稱 ;User ID=sa;PWD=leafsoftpassword") '如果采用SQL用戶密碼登錄用這個(gè),注意的是前面這些數(shù)據(jù)庫名稱我直接寫成'你的數(shù)據(jù)庫名稱'了,你如果要讀別的數(shù)據(jù)庫自己改,還有用戶密碼自己改
LeafSqlCommand = New SqlCommand("Select * from 表1 Where 姓名='小強(qiáng)';", LeafSqlConnection) '這里記得名字的兩邊要加符號(hào) '
LeafSqlDataAdapter = New SqlDataAdapter
LeafSqlCommand.CommandType = CommandType.Text
LeafSqlDataAdapter.SelectCommand = LeafSqlCommand
LeafData = New DataTable
LeafSqlDataAdapter.Fill(LeafData)
DataGridView1.DataSource = LeafData
End Sub
End Class
試了好久,終于試出來了,把代碼發(fā)給你分享:
首先,我建了個(gè)窗體,放了一個(gè)按扭控件,把打開連接EXECL的代碼都放在該按扭的click事件里了,你可以根據(jù)需要改動(dòng)。
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("成功打開連接") ’這句我用來測(cè)試能不能連接的,
’下面將建立查詢命令
Dim objCmdSelect As New OleDbCommand("SELECT * FROM [11$] where 姓名='李三'", objConn)
'11j是我測(cè)試用的sheet名,你換成你自己的,注意格式
'程序默認(rèn)Excel表的第一行內(nèi)容為字段名,你換成你自己的內(nèi)容,并建
'立查詢條件
'下面將根據(jù)查詢條件打開連接。
Dim objAdapter1 As New OleDbDataAdapter()
objAdapter1.SelectCommand = objCmdSelect
'下面將打開的數(shù)據(jù)放在dataset中
Dim objDataset1 As New DataSet()
objAdapter1.Fill(objDataset1, "XLData")
’下面將數(shù)據(jù)傳給DataGrid1控件
DataGrid1.DataSource = objDataset1.Tables(0).DefaultView
' Clean up objects.
objConn.Close()
End Sub
這個(gè)只能是一一判斷的:
為了敘述簡(jiǎn)單,假設(shè)有兩個(gè)可選條件,內(nèi)容在: TextBox1(姓名)、TextBox2(部門)
主要是構(gòu)造 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
注意:對(duì)于字符類型的字段,當(dāng)然要用單引號(hào),上面那樣的,但是對(duì)于數(shù)值類型,就不要這個(gè)單引號(hào)的;但是對(duì)于日期類型,那么與字符類型不同的是,把前后的2個(gè)單引號(hào),改為井號(hào)就是“#”, 這是很多初學(xué)者容易忽略的,也是很多教科書上不提的問題。
對(duì)于文本框,由于.NET不提供控件數(shù)組,但是還是可以用語句來實(shí)現(xiàn)類似數(shù)組的操作,這樣以上IF語句,就可以簡(jiǎn)化。
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
你是說這個(gè)么? 要是后面的值也有選項(xiàng)那就是得做集合了