国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
asp excel sql 關(guān)系大總結(jié) - 中軟網(wǎng)博客
1. ASP對(duì)Excel的基本操作
(1) 建立Excel對(duì)象
    創(chuàng)建Excel對(duì)象可以通過(guò)下面的代碼來(lái)實(shí)現(xiàn):
<%
set objExcelApp = CreateObject("Excel.Application")
objExcelApp.DisplayAlerts = false               '不顯示警告
objExcelApp.Application   = false               '不顯示界面
%>
(2) 新建Excel文件
    新建Excel文件可以通過(guò)以下代碼來(lái)實(shí)現(xiàn):
<%
objExcelApp.WorkBooks.add
set objExcelBook   = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet  = objExcelBook.Sheets(1)
%>
(3) 讀取已有的Excel文件
    讀取已有的Excel文件可以通過(guò)下面的代碼來(lái)實(shí)現(xiàn)        
<%
strAddr = Server.MapPath(".")
objExcelApp.WorkBooks.Open(strAddr & "TempletTable.xls")
set objExcelBook   = objExcelApp.ActiveWorkBook
set objExcelSheets = objExcelBook.Worksheets
set objExcelSheet  = objExcelBook.WorkSheets(1)
%>
(4) 另存Excel文件
    另存Excel文件可以通過(guò)以下代碼來(lái)實(shí)現(xiàn)
<%
objExcelBook.SaveAs strAddr & "templateTables.xls"
%>
(5) 保存Excel文件
    保存Excel文件可以通過(guò)以下代碼來(lái)實(shí)現(xiàn):
<%
objExcelBook.Save
%>        
(6) 退出Excel操作
<%
objExcelApp.Quit         '一定要退出
set objExcelApp = nothing
%>



2 讀取Excel文件的實(shí)例
<%
set xlApp = server.CreateObject("Excel.Application")
%>
2 讀取Excel文件的實(shí)例
<%
set xlApp = server.CreateObject("Excel.Application")
strsource = server.MapPath("xl.xls")
set xlbook = xlApp.WorkBooks.Open(strsource)
set xlsheet = xlbook.Worksheets(1)

i = 1
response.write "<table>"

while xlsheet.cells(i,1) <> ""

   response.write "<tr>"
   response.write "<td>" & xlsheet.Cells(i,1) & "</td>"
   response.write "<td>" & xlsheet.Cells(i,2) & "</td>"
   response.write "<td>" & xlsheet.Cells(i,3) & "</td>"
   response.write "<tr>"
   i = i + 1
  
wend

response.write "</table>"
set xlsheet = nothing
set xlbook  = nothing
xlApp.quit
'千萬(wàn)記住要加這一句,否則每運(yùn)行一次你的機(jī)器里就增加一個(gè)Excel進(jìn)程,而且無(wú)法釋放
'set xlApp = nothing 是不行的
%>  
2006-4-3 7:58:27  #  
shuiziliuvvv
性別 True
加入日期 2005-10-26
QQ號(hào)碼 191081370
郵箱 shuiziliuvvv@163.com
發(fā)帖
回復(fù)
怎樣將數(shù)據(jù)從Excel導(dǎo)入到SQL Server中
(1)
<%
sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn)
   '定義
   dim myConnection
   dim strName
   dim rsXsl,rsSql
   dim myConn_Xsl
   dim cmd
   dim i,j
   dim maxId
  
   strName = strFileName
   set myConnection = Server.CreateObject("ADODB.Connection")
   set rsXsl = Server.CreateObject("ADODB.Recordset")
   set rsSql = Server.CreateObject("ADODB.Recordset")
   set cmd   = server.CreateObject("ADODB.Command")
  
   cmd.ActiveConnection = myConn
  
   myConn_Xsl = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName & _
               ";Extended Properties=Excel 8.0"
   '打開(kāi)連接
    myconnection.open myConn_Xsl
   '打開(kāi)表      
   str_Xsl = "select * from [" & strSheetName & "$]"
   rsXsl.open str_Xsl,myconnection,1,1
   j = 1
   Do while not rsXsl.eof
   '取出最大值
   str_sql = "select Max(id) as maxId from exceltosql"
   rsSql.open str_Sql,myConn,1,3
   if Not rsSql.eof then
      if not isNull(rsSql("maxId")) then
         maxId=CLng(rsSql("maxId")) + 1
      else
         maxId = 1
      end if
   else
      maxId = 1
   end if
   rsSql.close   '//關(guān)閉對(duì)象
   '加入數(shù)據(jù)庫(kù)
   str_Sql = "insert into exceltosql values(" & maxId&",'"&rsXsl(1)&"','" & rsXsl(2)&"')"
      cmd.CommandText = str_Sql
      cmd.Excute()
      ''''''''''''''''''''''''''''''''''''''''''
      j = j + 1
      rsXsl.moveNext
   loop
  
   response.write "共導(dǎo)入 " & j_1 & " 條記錄.<br>"
   response.write "<a href=# onclick='self.close();'>關(guān)閉窗口</a>"
   set rsXsl = nothing
   set rsSql = nothing
   set myconnection = nothing
   set cmd = nothing
end sub


(2)
'調(diào)用方法
<%
file1 = "c:\excelexample.xls"
myconn = "DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=aspbook"
dataIntoSqlServer_ceritificate file1,"sheet1",myconn
%>  
2006-4-4 7:19:21  #  
shuiziliuvvv
性別 True
加入日期 2005-10-26
QQ號(hào)碼 191081370
郵箱 shuiziliuvvv@163.com
發(fā)帖
回復(fù)
ASP操作Excel技術(shù)總結(jié)  

目錄  
一、            環(huán)境配置  
二、            ASP對(duì)Excel的基本操作  
三、            ASP操作Excel生成數(shù)據(jù)表  
四、            ASP操作Excel生成Chart圖  
五、            服務(wù)器端Excel文件瀏覽、下載、刪除方案  
六、            附錄  

正文  
一、            環(huán)境配置  
服務(wù)器端的環(huán)境配置從參考資料上看,微軟系列的配置應(yīng)該都行,即:  
1.Win9x+PWS+Office  
2.Win2000  Professional+PWS+Office  
3.Win2000  Server+IIS+Office  
目前筆者測(cè)試成功的環(huán)境是后二者。Office的版本沒(méi)有特殊要求,考慮到客戶機(jī)配置的不確定性和下兼容特性,建議服務(wù)器端Office版本不要太高,以防止客戶機(jī)下載后無(wú)法正確顯示。  
服務(wù)器端環(huán)境配置還有兩個(gè)偶然的發(fā)現(xiàn)是:  
1.            筆者開(kāi)發(fā)機(jī)器上原來(lái)裝有金山的WPS2002,結(jié)果Excel對(duì)象創(chuàng)建始終出現(xiàn)問(wèn)題,卸載WPS2002后,錯(cuò)誤消失。  
2.            筆者開(kāi)發(fā)ASP代碼喜歡用FrontPage,結(jié)果發(fā)現(xiàn)如果FrontPage打開(kāi)(服務(wù)器端),對(duì)象創(chuàng)建出現(xiàn)不穩(wěn)定現(xiàn)象,時(shí)而成功時(shí)而不成功。擴(kuò)展考察后發(fā)現(xiàn),Office系列的軟件如果在服務(wù)器端運(yùn)行,則Excel對(duì)象的創(chuàng)建很難成功。  
服務(wù)器端還必須要設(shè)置的一點(diǎn)是COM組件的操作權(quán)限。在命令行鍵入“DCOMCNFG”,則進(jìn)入COM組件配置界面,選擇Microsoft  Excel后點(diǎn)擊屬性按鈕,將三個(gè)單選項(xiàng)一律選擇自定義,編輯中將Everyone加入所有權(quán)限。保存完畢后重新啟動(dòng)服務(wù)器。  
客戶端的環(huán)境配置沒(méi)發(fā)現(xiàn)什么特別講究的地方,只要裝有Office和IE即可,版本通用的好象都可以。  

二、            ASP對(duì)Excel的基本操作  
1、            建立Excel對(duì)象  
set  objExcelApp  =  CreateObject("Excel.Application")  
objExcelApp.DisplayAlerts  =  false                        不顯示警告  
objExcelApp.Application.Visible  =  false                        不顯示界面  
2、            新建Excel文件  
objExcelApp.WorkBooks.add  
set  objExcelBook  =  objExcelApp.ActiveWorkBook  
set  objExcelSheets  =  objExcelBook.Worksheets  
set  objExcelSheet  =  objExcelBook.Sheets(1)  
3、            讀取已有Excel文件  
strAddr  =  Server.MapPath(".")  
objExcelApp.WorkBooks.Open(strAddr  &  "\Templet\Table.xls")  
set  objExcelBook  =  objExcelApp.ActiveWorkBook  
set  objExcelSheets  =  objExcelBook.Worksheets  
set  objExcelSheet  =  objExcelBook.Sheets(1)  
4、            另存Excel文件  
objExcelBook.SaveAs  strAddr  &  "\Temp\Table.xls"  
5、            保存Excel文件  
objExcelBook.Save                        (筆者測(cè)試時(shí)保存成功,頁(yè)面報(bào)錯(cuò)。)  
6、            退出Excel操作  
objExcelApp.Quit            一定要退出  
set  objExcelApp  =  Nothing  

三、            ASP操作Excel生成數(shù)據(jù)表  
1、            在一個(gè)范圍內(nèi)插入數(shù)據(jù)  
objExcelSheet.Range("B3:k3").Value  =  Array("67",  "87",  "5",  "9",  "7",  "45",  "45",  "54",  "54",  "10")  
2、            在一個(gè)單元格內(nèi)插入數(shù)據(jù)  
objExcelSheet.Cells(3,1).Value="Internet  Explorer"  
3、            選中一個(gè)范圍  
4、            單元格左邊畫粗線條  
5、            單元格右邊畫粗線條  
6、            單元格上邊畫粗線條  
7、            單元格下邊畫粗線條  
8、            單元格設(shè)定背景色  
9、            合并單元格  
10、            插入行  
11、            插入列  

四、            ASP操作Excel生成Chart圖  
1、            創(chuàng)建Chart圖  
objExcelApp.Charts.Add  
2、            設(shè)定Chart圖種類  
objExcelApp.ActiveChart.ChartType  =  97  
注:二維折線圖,4;二維餅圖,5;二維柱形圖,51  
3、            設(shè)定Chart圖標(biāo)題  
objExcelApp.ActiveChart.HasTitle  =  True  
objExcelApp.ActiveChart.ChartTitle.Text  =  "A  test  Chart"  
4、            通過(guò)表格數(shù)據(jù)設(shè)定圖形  
objExcelApp.ActiveChart.SetSourceData  objExcelSheet.Range("A1:k5"),1  
5、            直接設(shè)定圖形數(shù)據(jù)(推薦)  
objExcelApp.ActiveChart.SeriesCollection.NewSeries  
objExcelApp.ActiveChart.SeriesCollection(1).Name  =  "=""333"""  
objExcelApp.ActiveChart.SeriesCollection(1).Values  =  "={1,4,5,6,2}"  
6、            綁定Chart圖  
objExcelApp.ActiveChart.Location  1  
7、            顯示數(shù)據(jù)表  
objExcelApp.ActiveChart.HasDataTable  =  True  
8、            顯示圖例  
objExcelApp.ActiveChart.DataTable.ShowLegendKey  =  True  

五、            服務(wù)器端Excel文件瀏覽、下載、刪除方案  
瀏覽的解決方法很多,“Location.href=”,“Navigate”,“Response.Redirect”都可以實(shí)現(xiàn),建議用客戶端的方法,原因是給服務(wù)器更多的時(shí)間生成Excel文件。  
下載的實(shí)現(xiàn)要麻煩一些。用網(wǎng)上現(xiàn)成的服務(wù)器端下載組件或自己定制開(kāi)發(fā)一個(gè)組件是比較好的方案。另外一種方法是在客戶端操作Excel組件,由客戶端操作服務(wù)器端Excel文件另存至客戶端。這種方法要求客戶端開(kāi)放不安全ActiveX控件的操作權(quán)限,考慮到通知每個(gè)客戶將服務(wù)器設(shè)置為可信站點(diǎn)的麻煩程度建議還是用第一個(gè)方法比較省事。  
刪除方案由三部分組成:  
A:            同一用戶生成的Excel文件用同一個(gè)文件名,文件名可用用戶ID號(hào)或SessionID號(hào)等可確信不重復(fù)字符串組成。這樣新文件生成時(shí)自動(dòng)覆蓋上一文件。  
B:            在Global.asa文件中設(shè)置Session_onEnd事件激發(fā)時(shí),刪除這個(gè)用戶的Excel暫存文件。  
C:            在Global.asa文件中設(shè)置Application_onStart事件激發(fā)時(shí),刪除暫存目錄下的所有文件。  
注:建議目錄結(jié)構(gòu)  \Src  代碼目錄  \Templet  模板目錄  \Temp  暫存目錄  

六、            附錄  
出錯(cuò)時(shí)Excel出現(xiàn)的死進(jìn)程出現(xiàn)是一件很頭疼的事情。在每個(gè)文件前加上“On  Error  Resume  Next”將有助于改善這種情況,因?yàn)樗鼤?huì)不管文件是否產(chǎn)生錯(cuò)誤都堅(jiān)持執(zhí)行到“Application.Quit”,保證每次程序執(zhí)行完不留下死進(jìn)程。  




2006-4-6 6:51:42  #  
shuiziliuvvv
性別 True
加入日期 2005-10-26
QQ號(hào)碼 191081370
郵箱 shuiziliuvvv@163.com
發(fā)帖
回復(fù)
ASP讀EXCEL2000的文章?。?br>

由于工作需要 要用ASP讀取EXCEL的工資單 所以在網(wǎng)上找了些資料
寫了以下程序 送給大家:)
<%
'=====================ASP讀取EXCEL注事項(xiàng)===========================
'i)將Excel97或Excel2000生成的XLS文件(book)看成一個(gè)數(shù)據(jù)庫(kù),其中的每一個(gè)工作表(sheet)看成數(shù)據(jù)庫(kù)表
'ii)ADO假設(shè)Excel中的第一行為字段名.所以你定義的范圍中必須要包括第一行的內(nèi)容
'iii)Excel中的行標(biāo)題(即字段名)不能夠包含數(shù)字. Excel的驅(qū)動(dòng)在遇到這種問(wèn)題時(shí)就會(huì)出錯(cuò)的。例如你的行標(biāo)題名為“F1”
'iiii)如果你的Excel電子表格中某一列同時(shí)包含了文本和數(shù)字的話,那么Excel的ODBC驅(qū)動(dòng)將不能夠正常, 處理這一行的數(shù)據(jù)類型,你必須要保證該列的數(shù)據(jù)類型一致
'E-MAIL:Kaxue@Hotmail.com QQ:484110 HOMEPAGE:www.Flyday.net
'整理時(shí)間:Thursday, May 23, 2002 5:54 PM WIN2000SERVER+IIS5 測(cè)式通過(guò)
'===================================================================

Dim Conn,Driver,DBPath,Rs
' 建立Connection對(duì)象
Set Conn = Server.CreateObject("ADODB.Connection")
Driver = "Driver={Microsoft Excel Driver (*.xls)};"
DBPath = "DBQ=" & Server.MapPath( "test.xls" )
'調(diào)用Open 方法打開(kāi)數(shù)據(jù)庫(kù)
Conn.Open Driver & DBPath

'DSN連接方式
'Conn.Open "Dsn=test"
'注意 表名一定要以下邊這種格試 "[表名$]" 書寫
Sql="Select * From [Sheet1$] where 序號(hào)=0"
Set Rs=Conn.Execute(Sql)

IF Rs.Eof And Rs.Bof Then
Response.write "沒(méi)有找到您需要的數(shù)據(jù)!!"
Else

Do While Not Rs.EOF

Response.write Rs("姓名")

Rs.MoveNext
Loop
End IF

Rs.Close
Set Rs=nothing
Conn.Close
Set Conn=Nothing
'Response.Write "成功!"
%>




2006-4-6 6:56:09  #  
shuiziliuvvv
性別 True
加入日期 2005-10-26
QQ號(hào)碼 191081370
郵箱 shuiziliuvvv@163.com
發(fā)帖
回復(fù)
ASP與電子表格EXCEL的交互操作


Here we go again with another sample for Excel, this time we will be using ASP to create a chart. You all
asked me for it, now here is the solution. Thanks again for all your nice comments :)

First we set the type of script

<%@ LANGUAGE="VBSCRIPT" %>

Make the object, and set the object to an Excelsheet

Dim MyExcelChart
Set MyExcelChart = CreateObject("Excel.Sheet")

Now lets write the rest of the script, see the comments

' show or dont show excel to user, TRUE or FALSE
MyExcelChart.Application.Visible = True

' populate the cells
MyExcelChart.ActiveSheet.Range("B2:k2").Value = Array
("Week1", "Week2", "Week3", "Week4", "Week5", "Week6", "Week7", "Week8", "Week9", "Week10")
MyExcelChart.ActiveSheet.Range("B3:k3").Value = Array
("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
MyExcelChart.ActiveSheet.Range("B4:k4").Value = Array
("10", "10", "8", "27", "33", "37", "50", "54", "10", "10")
MyExcelChart.ActiveSheet.Range("B5:k5").Value = Array
("23", "3", "86", "64", "60", "18", "5", "1", "36", "80")
MyExcelChart.ActiveSheet.Cells(3,1).Value="Internet Explorer"
MyExcelChart.ActiveSheet.Cells(4,1).Value="Netscape"
MyExcelChart.ActiveSheet.Cells(5,1).Value="Other"

' Select the contents that need to be in the chart
MyExcelChart.ActiveSheet.Range("b2:k5").Select
    
' Add the chart
MyExcelChart.Charts.Add
' Format the chart, set type of chart, shape of the bars, show title, get the data for the chart, show
datatable, show legend
MyExcelChart.activechart.ChartType = 97
MyExcelChart.activechart.BarShape =3
MyExcelChart.activechart.HasTitle = True
MyExcelChart.activechart.ChartTitle.Text = "Visitors log for each week shown in browsers percentage"
MyExcelChart.activechart.SetSourceData MyExcelChart.Sheets("Sheet1").Range("A1:k5"),1
MyExcelChart.activechart.Location 1
MyExcelChart.activechart.HasDataTable = True
MyExcelChart.activechart.DataTable.ShowLegendKey = True

' Save the the excelsheet to excelface
MyExcelChart.SaveAs "c:\chart.xls"
%>

Now lets complete the HTML tags.

<HTML>
<HEAD>
<TITLE>MyExcelChart</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>

This completes yer ASP page, look below for the complete code of myexcelchart.asp

<%@ LANGUAGE="VBSCRIPT" %>
<%
' Create Object
Set MyExcelChart = CreateObject("Excel.Sheet")

' show or dont show excel to user, TRUE or FALSE
MyExcelChart.Application.Visible = True

' populate the cells
MyExcelChart.ActiveSheet.Range("B2:k2").Value = Array
("Week1", "Week2", "Week3", "Week4", "Week5", "Week6", "Week7", "Week8", "Week9", "Week10")
MyExcelChart.ActiveSheet.Range("B3:k3").Value = Array
("67", "87", "5", "9", "7", "45", "45", "54", "54", "10")
MyExcelChart.ActiveSheet.Range("B4:k4").Value = Array
("10", "10", "8", "27", "33", "37", "50", "54", "10", "10")
MyExcelChart.ActiveSheet.Range("B5:k5").Value = Array
("23", "3", "86", "64", "60", "18", "5", "1", "36", "80")
MyExcelChart.ActiveSheet.Cells(3,1).Value="Internet Explorer"
MyExcelChart.ActiveSheet.Cells(4,1).Value="Netscape"
MyExcelChart.ActiveSheet.Cells(5,1).Value="Other"

' Select the contents that need to be in the chart
MyExcelChart.ActiveSheet.Range("b2:k5").Select
    
' Add the chart
MyExcelChart.Charts.Add
' Format the chart, set type of chart, shape of the bars, show title, get the data for the chart, show
datatable, show legend
MyExcelChart.activechart.ChartType = 97
MyExcelChart.activechart.BarShape =3
MyExcelChart.activechart.HasTitle = True
MyExcelChart.activechart.ChartTitle.Text = "Visitors log for each week shown in browsers percentage"
MyExcelChart.activechart.SetSourceData MyExcelChart.Sheets("Sheet1").Range("A1:k5"),1
MyExcelChart.activechart.Location 1
MyExcelChart.activechart.HasDataTable = True
MyExcelChart.activechart.DataTable.ShowLegendKey = True


' Save the the excelsheet to chart.xls
MyExcelChart.SaveAs "c:\chart.xls"


%>
<HTML>
<HEAD>
<TITLE>MyExcelChart</TITLE>
</HEAD>
<BODY>
</BODY>
</HTML>

2006-4-6 6:56:58  #  
shuiziliuvvv
性別 True
加入日期 2005-10-26
QQ號(hào)碼 191081370
郵箱 shuiziliuvvv@163.com
發(fā)帖
回復(fù)
asp實(shí)現(xiàn)在web中顯示電子表格數(shù)據(jù)(一)
顯示數(shù)據(jù)表格的應(yīng)用
   在用ASP語(yǔ)言開(kāi)發(fā)的Web數(shù)據(jù)庫(kù)應(yīng)用程序中,ADO (ActiveX Data Objects) 已經(jīng)成為非常流行的工具,而且對(duì)于真正的關(guān)系型數(shù)據(jù)庫(kù),比如Oracle、SQL Server,它都不會(huì)有局限性。ADO能夠存取多種不同的數(shù)據(jù)格式,MS Excel電子數(shù)據(jù)表格就是其中之一。

   關(guān)于這個(gè)應(yīng)用

   可供下載的例程代碼中包括一個(gè)ASP文件ReadX1.asp,一個(gè)Excel文件TheWorkbook.xls。你也可以另外加入一些電子數(shù)據(jù)表文件。

   執(zhí)行ReadXl.asp頁(yè)面,將顯示出可用的電子數(shù)據(jù)表文件列表。選擇好一個(gè)文件,并提交表單后,你將會(huì)看到:

一個(gè)下拉菜單,其中是工作表名稱
一個(gè)下拉菜單,其中是命名的范圍
一個(gè)單元格范圍輸入框
第一個(gè)工作表的全部?jī)?nèi)容
  

   可以選擇工作簿文件中的另外一個(gè)工作表,或者輸入符合Excel格式的單元格范圍數(shù)值,比如:D20:E21 或者 Sheet3!F12:J22。注意:在ADO和ODBC驅(qū)動(dòng)程序中,要用$符合替換分界符號(hào)!。

   實(shí)現(xiàn)步驟

   現(xiàn)在對(duì)這個(gè)應(yīng)用程序已經(jīng)有了初步的認(rèn)識(shí),下面開(kāi)始討論ASP代碼,看看如何讀取電子數(shù)據(jù)表的數(shù)據(jù),如何找到電子數(shù)據(jù)簿
(workbook)文件中可用的電子數(shù)據(jù)表(worksheet)和范圍,并看看實(shí)現(xiàn)文件列表選擇的技術(shù)。這里假設(shè)你已經(jīng)熟悉了編寫HTML表單的技術(shù),所以對(duì)此不做詳細(xì)介紹。

   基本條件

   下面將涉及到ADO對(duì)象、方法、屬性、收集和常量。在服務(wù)器上安裝IIS后,ADO就存在了,并且還有相關(guān)文檔,地址是http://YourServer/IisHelp/ado210.chm (版本2.1),或者http://YourServer/IisHelp/ado/docs/(老版本1.5)。如果需要升級(jí)ADO,可以從http://www.microsoft.com/Data/download.htm下載最新版本的MDAC工具包進(jìn)行安裝。

   實(shí)現(xiàn)“文件列表選擇”使用到了內(nèi)建的VBScript腳本對(duì)象,相關(guān)文檔可以查看http://YourServer/IisHelp/vbscript/htm/vbstoc.htm,如果想查看最新的文檔,請(qǐng)?jiān)L問(wèn)http://msdn.microsoft.com/scripting
(版本5)。當(dāng)然,在服務(wù)器端和客戶端,你都不需要安裝MS Excel。

   讀取電子數(shù)據(jù)表(Worksheet)數(shù)據(jù)

   通過(guò)ADO讀取電子數(shù)據(jù)表與讀取數(shù)據(jù)庫(kù)表的方法基本是一樣的。從下圖可以看到,電子數(shù)據(jù)表的行被稱作記錄Records,列被稱作字段Fields。電子數(shù)據(jù)表或者單元格的范圍可以被看成表Tables,并按照記錄集recordsets進(jìn)行存取。

Spreadsheet Database HTML
  < table >
< tr >
< th >NameA< /th >
< th >NameB< /th >
< th >NameC< /th >
< /tr >< tr >
< td >1< /td >
< td >2< /td >
< td >3< /td >
< /tr >< tr >
< td >11< /td >
< td >12< /td >
< td >13< /td >
< /tr >
< /table >

   執(zhí)行下面的步驟,從數(shù)據(jù)庫(kù)表中讀取數(shù)據(jù)并顯示:

連接數(shù)據(jù)庫(kù)(同樣:打開(kāi)數(shù)據(jù)簿文件)
讀取記錄集recordset(同樣:讀取一定范圍的單元格)
循環(huán)每一個(gè)記錄(同樣:每一行),經(jīng)過(guò)格式化,顯示
   建立ADO連接

   在連接數(shù)據(jù)庫(kù)或者打開(kāi)文件前,需要了解一些信息。其中只要是設(shè)置名叫DSN的ODBC驅(qū)動(dòng),但為每一個(gè)數(shù)據(jù)表都建立這樣的ODBC驅(qū)動(dòng),是非常麻煩的,因?yàn)檫@需要在服務(wù)器的控制臺(tái)上通過(guò)“控制面板/ODBC設(shè)置”手工完成。

   幸好,ASP提供了替代DSN的其他方法,它可以非常容易地在運(yùn)行時(shí)建立連接。比如,字符串“DRIVER={Microsoft Excel Driver?*.xls)};ReadOnly=1;DBQ=C:dirfile.xls",表示了替代DSN打開(kāi)文件c:dirfile.xls,因此通過(guò)這種方法僅僅需要提供給ASP程序一個(gè)文件名即可。執(zhí)行下面的代碼,將從表單中讀取文件名,然后轉(zhuǎn)換為全路徑,接著生成連接字符串,最后建立并打開(kāi)這個(gè)連接。

vXlFile = Request("XlBook")
vXlFilePath = Server.MapPath(vXlFile) ' assumes file in current directory
vConnString = "DRIVER={Microsoft Excel Driver (*.xls)};ReadOnly=1;DBQ=" & _
              vXlFilePath
Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open vConnString
   如果想查看更多的非DSN連接信息,請(qǐng)打開(kāi)Windows或者NT System目錄下的幫助文件Odbcjet.hlp。

   讀取記錄集

   連接上電子數(shù)據(jù)簿文件后,讀取一定范圍的單元格數(shù)據(jù)就很簡(jiǎn)單了。盡管不是必須的,但還是建議:用符合“[” 和 “]”包含住單元格的范圍定義。只所以這么做,是以防在數(shù)據(jù)庫(kù)的操作中產(chǎn)生非法的符合。

vXlRange = Request("XlRange")
Set ors = oConn.Execute("[" & vXlRange & "]")

   執(zhí)行上面的語(yǔ)句,將返回記錄集對(duì)象,其中包括范圍內(nèi)單元格的所有可用信息, 記錄集的數(shù)值和描述數(shù)據(jù)的元數(shù)據(jù)。


給你個(gè)將數(shù)據(jù)從EXCEL導(dǎo)入SQL Server的例子,EXCEL導(dǎo)入ACCESS類似

sub dataIntoSqlServer_ceritificate(strFileName,strSheetName,myConn)
'定義
dim myConnection
dim strName
dim rsXsl,rsSql
dim str_Xsl,str_Sql
dim myConn_Xsl
dim cmd
dim i,j
dim maxId

strName=strFileName
set myConnection=server.createobject("adodb.connection")
set rsXsl=Server.Createobject("ADODB.Recordset")
set rsSql=Server.CreateObject("ADODB.Recordset")
set cmd=Server.CreateObject("ADODB.Command")
cmd.ActiveConnection=myConn

'myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strName& ";Extended Properties=Excel 8.0"

myConn_Xsl="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application("ASP_Directory") & "chapter05\database\" & strName & ";Extended Properties=Excel 8.0"
'打開(kāi)連接
myconnection.open myConn_Xsl

'打開(kāi)表
str_Xsl="select * from ["& strSheetName &"$]"
rsXsl.open str_Xsl,myconnection,1,1
j=1
Do While not rsXsl.eof
'取出最大值
str_Sql="select Max(id) as maxId from exceltosql"
rsSql.open str_Sql,myConn,1,3
If Not rsSql.Eof Then
If not isNull(rsSql("maxId")) Then
maxId=Clng(rsSql("maxId"))+1
Else
maxId=1
End if
else
maxId=1
End if
rsSql.close'//關(guān)閉對(duì)象
'加入數(shù)據(jù)庫(kù)
str_Sql=" insert into exceltosql values("&maxId&",'"&rsXsl(1)&"','"&rsXsl(2)&"')"
cmd.CommandText=str_Sql
cmd.Execute()
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
j=j+1
rsXsl.movenext
Loop

response.write "共導(dǎo)入<font color='red'>" & j-1 & "</font>條記錄.<br/>"
response.write "<a href=# onclick='self.close();'>關(guān)閉窗口</a>"
set rsXsl=nothing
set rsSql=nothing
set myconnection=nothing
set cmd=nothing
end sub


下面是調(diào)用導(dǎo)入方法的代碼

file1="C:\excelexample.xls"
myconn=Application("ASP_Chapter05_Con1")'"DRIVER={SQL SERVER};SERVER=(local);uid=sa;pwd=sa;DATABASE=aspbook"
dataIntoSqlServer_ceritificate file1,"sheet1",myconn

=========================================
<%  
'On   Error   Resume   Next  
'導(dǎo)入Excel電子表格數(shù)據(jù)到SQL   Sever數(shù)據(jù)庫(kù)   By   Dicky   2004-12-27   16:41:12   QQ:25941  
Function   Open_Conn(SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,SqlConn)  
'創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象并打開(kāi)數(shù)據(jù)庫(kù)連接  
Dim   ConnStr  


SqlUsername = "sa"
SqlPassword = "sa"
SqlDatabaseName = "sztcsc"
SqlLocalName = "(local)"
ConnStr = "Provider = Sqloledb; User ID = " & SqlUsername & "; Password = " & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source = " & SqlLocalName & ";"






Set   SqlConn   =   Server.CreateObject("ADODB.Connection")  
SqlConn.Open   ConnStr  
If   Err   Then  
Err.Clear  
Set   SqlConn   =   Nothing  
Response.Write   "數(shù)據(jù)連接錯(cuò)誤!"  
Response.End  
End   If  
End   Function  

Function   Close_Conn(SqlConn)  
'關(guān)閉數(shù)據(jù)庫(kù)連接并清除數(shù)據(jù)庫(kù)連接對(duì)象  
If   IsObject(SqlConn)   Then  
SqlConn.Close  
Set   SqlConn   =   Nothing  
End   If  
End   Function  

Call   Open_Conn("sztcsc","sa","sa","(local)",SqlConn)   '打開(kāi)SQL   Server數(shù)據(jù)庫(kù)連接  

Function   Get_EMP_CnName(NTACCNT)  
'根據(jù)用戶NT賬號(hào)得到用戶中文名  
Dim   Sql,Rs  
Sql   =   "Select   EMP_CNAME   From   RF_EMPLOYEE   Where   EMP_NTACCNT='"&NTACCNT&"'"  
Set   Rs   =   Server.CreateObject("Adodb.RecordSet")  
Rs.Open   Sql,SqlConn,1,1  
If   Rs.Eof   Then  
Get_EMP_CnName   =   ""  
Else  
Get_EMP_CnName   =   Rs("EMP_CNAME")  
End   If  
Rs.Close  
Set   Rs   =   Nothing  
End   Function

%>



<html>  
<head>  
<title>導(dǎo)入Excel電子表格數(shù)據(jù)到SQL   Sever數(shù)據(jù)庫(kù)</title>  
<body   bgcolor="#ACD9AF">  
<center><b>導(dǎo)入Excel電子表格數(shù)據(jù)到SQL   Sever數(shù)據(jù)庫(kù)</b></center>  
<FORM   METHOD="POST"   name="form1">  
請(qǐng)選擇數(shù)據(jù)源:   <input   type="file"   name="File"   size="40"   title="請(qǐng)選擇需要導(dǎo)出的Excel文件">   <input   type=submit   name=submit   value="開(kāi)始導(dǎo)出">  
<br>請(qǐng)選擇目標(biāo)表:  
<Select   NAME="Table"   title="請(qǐng)選擇需要導(dǎo)入數(shù)據(jù)的表">  
<option></option>  
<%   Dim   RsSqlDatabaseTable  
Set   RsSqlDatabaseTable   =   SqlConn.OpenSchema(20)  
Do   While   Not   RsSqlDatabaseTable.Eof   %>  
<option<%If   Trim(Request("Table"))=RsSqlDatabaseTable(2)   Then   Response.Write   "   selected"%>><%=RsSqlDatabaseTable(2)%></option>  
<%   RsSqlDatabaseTable.MoveNext:Loop  
Set   RsSqlDatabaseTable   =   Nothing   %>  
</Select>  
</FORM>  
<font   color=blue>導(dǎo)出過(guò)程中請(qǐng)不要刷新頁(yè)面!</font><br>  
<%  
If   Right(Trim(Request("File")),3)   =   "xls"   Then  
Response.Write   "<font   color=red>您所導(dǎo)出的Excel文件是:"&Trim(Request("File"))&"</font><br>"  
End   If  
'=====================ASP讀取EXCEL注事項(xiàng)=====================================  
'i)將Excel97或Excel2000生成的XLS文件(book)看成一個(gè)數(shù)據(jù)庫(kù),其中的每一個(gè)工作表(sheet)看成數(shù)據(jù)庫(kù)表  
'ii)ADO假設(shè)Excel中的第一行為字段名.所以你定義的范圍中必須要包括第一行的內(nèi)容  
'iii)Excel中的行標(biāo)題(即字段名)不能夠包含數(shù)字.   Excel的驅(qū)動(dòng)在遇到這種問(wèn)題時(shí)就會(huì)出錯(cuò)的。例如你的行標(biāo)題名為“F1”  
'iiii)如果你的Excel電子表格中某一列同時(shí)包含了文本和數(shù)字的話,那么Excel的ODBC驅(qū)動(dòng)將不能夠正常,   處理這一行的數(shù)據(jù)類型,你必須要保證該列的數(shù)據(jù)類型一致  
'E-MAIL:Kaxue@Hotmail.com   QQ:484110   HOMEPAGE:www.Flyday.net  
'整理時(shí)間:Thursday,   May   23,   2002   5:54   PM   WIN2000SERVER+IIS5   測(cè)式通過(guò)  
'============================================================================  
If   Trim(Request("File"))   =   ""   Then  
Response.Write   "<font   color=red>對(duì)不起,請(qǐng)選擇需要導(dǎo)出的Excel文件!</font>"  
Response.End  
ElseIf   Right(Trim(Request("File")),3)   <>   "xls"   Then  
Response.Write   "<font   color=red>對(duì)不起,請(qǐng)確定您要導(dǎo)出的是Excel文件!</font>"  
Response.End  
Else  
'列出所選擇的Excel文件中的所有工作表  
Dim   ExeclFile,objExcelApp,objExcelBook  
ExeclFile   =   Trim(Request("File"))  
Set   objExcelApp   =   CreateObject("Excel.Application")  
objExcelApp.Quit  
objExcelApp.DisplayAlerts   =   False   '不顯示警告  
objExcelApp.Application.Visible   =   False   '不顯示界面  
objExcelApp.WorkBooks.Open(ExeclFile)  
set   objExcelBook   =   objExcelApp.ActiveWorkBook  
reDim   arrSheets(objExcelBook.Sheets.Count)  
For   i=1   to   objExcelBook.Sheets.Count  
arrSheets(i)   =   objExcelBook.Sheets(i).Name  
'   Response.Write   arrSheets(i)  
Next  
objExcelApp.Quit  
Set   objExeclApp   =   Nothing  
'列出所選擇的Excel文件中的所有工作表  
End   If  

Dim   Conn,Driver,DBPath,Rs,SqlInsert,SqlDelete  
'建立Connection對(duì)象  
Set   Conn   =   Server.CreateObject("ADODB.Connection")  
Driver   =   "Driver={Microsoft   Excel   Driver   (*.xls)};"  
'DBPath   =   "DBQ="   &   Server.MapPath(   "HRB.xls"   )  
DBPath   =   "DBQ="   &   Trim(Request("File"))  
'調(diào)用Open   方法打開(kāi)數(shù)據(jù)庫(kù)  
Conn.Open   Driver   &   DBPath  

'DSN連接方式  
'Conn.Open   "Dsn=test"  
'注意   表名一定要以下邊這種格式   "[表名$]"   書寫  
For   i   =   1   To   UBound(arrSheets)'開(kāi)始循環(huán)所有工作表  
Sql   =   "Select   *   FROM   ["&   arrSheets(i)   &"$]   "  
Set   Rs   =   Conn.Execute(Sql)  

If   Rs.Eof   And   Rs.Bof   Then  
Response.write   "沒(méi)有找到您需要的數(shù)據(jù)!!<br>"  
Else  
'   Response.Write   "<font   color=blue>工作表:</font><font   color=green>"&arrSheets(i)&"</font><br>"  
Do   While   Not   Rs.Eof  
SqlInsert   =   "Insert   Into   "&Trim(Request("Table"))&"   (EDG_Project_Name,EDG_Project_No,EDG_Project_VM,EDG_Project_VM_CnName,EDG_Project_M,EDG_Project_M_CnName,EDG_Project_Director,EDG_Project_Director_CnName)   Values   ('"&Trim(Rs(0))&"','"&Trim(Rs(1))&"','"&Trim(Rs(2))&"','"&Trim(Rs(2))&"("&Get_EMP_CnName(Trim(Rs(2)))&")"&"','"&Trim(Rs(3))&"','"&Trim(Rs(3))&"("&Get_EMP_CnName(Trim(Rs(3)))&")"&"','"&Trim(Rs(4))&"','"&Trim(Rs(4))&"("&Get_EMP_CnName(Trim(Rs(4)))&")"&"')"  
'此處插入的值根據(jù)實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行調(diào)整  
SqlConn.Execute(SqlInsert)'插入Excel表格裏所有東東  
Rs.MoveNext  
Loop  
Response.Write   "<font   color=red>恭喜,成功導(dǎo)出Excel文件中工作表[</font><font   color=blue>"&arrSheets(i)&"</font><font   color=red>]的數(shù)據(jù)到SQL   Server數(shù)據(jù)表[<font   color=blue>"&Trim(Request("Table"))&"</font>]中!^_^</font><br>"  
End   If  

Rs.Close  
Set   Rs   =   Nothing  
Next'循環(huán)所有工作表結(jié)束  

Call   Close_Conn(Conn)   '關(guān)閉Excel數(shù)據(jù)庫(kù)連接  
Call   Close_Conn(SqlConn)   '關(guān)閉SQL   Server數(shù)據(jù)庫(kù)連接   %>  
</body>  
</html>  



======================================================
<%
On Error Resume Next
''導(dǎo)入Excel電子表格數(shù)據(jù)到SQL Sever數(shù)據(jù)庫(kù) By Dicky 2004-12-27 16:41:12
Function Open_Conn(SqlDatabaseName,SqlPassword,SqlUsername,SqlLocalName,SqlConn)
''創(chuàng)建數(shù)據(jù)庫(kù)連接對(duì)象并打開(kāi)數(shù)據(jù)庫(kù)連接
Dim ConnStr
''SQL Server數(shù)據(jù)庫(kù)連接參數(shù):數(shù)據(jù)庫(kù)名、用戶密碼、用戶名、連接名(本地用local,外地用IP)
ConnStr = "Provider=Sqloledb; User ID=" & SqlUsername & "; Password=" & SqlPassword & "; Initial Catalog = " & SqlDatabaseName & "; Data Source=" & SqlLocalName & ";"
Set SqlConn = Server.CreateObject("ADODB.Connection")
SqlConn.Open ConnStr
If Err Then
Err.Clear
Set SqlConn = Nothing
Response.Write "數(shù)據(jù)連接錯(cuò)誤!"
Response.End
End If
End Function

Function Close_Conn(SqlConn)
''關(guān)閉數(shù)據(jù)庫(kù)連接并清除數(shù)據(jù)庫(kù)連接對(duì)象
If IsObject(SqlConn) Then
SqlConn.Close
Set SqlConn = Nothing
End If
End Function

Call Open_Conn("xformdemo","sa","sa","(local)",SqlConn) ''打開(kāi)本地SQL Server數(shù)據(jù)庫(kù)連接
'Call Open_Conn("xformdemo","","sa","ssh03",SqlConn1) ''打開(kāi)遠(yuǎn)程SQL Server數(shù)據(jù)庫(kù)連接

Function Get_EMP_CnName(NTACCNT)
''根據(jù)用戶NT賬號(hào)得到用戶中文名
Dim Sql1,Rs1

Sql1 = "Select * From C_DEPT Where EMP_NTACCNT=''"&NTACCNT&"''"
Set Rs1 = Server.CreateObject("Adodb.RecordSet")
Rs1.Open Sql1,SqlConn1,1,1
If Rs1.Eof Then
Get_EMP_CnName = ""
Else
Get_EMP_CnName = Rs1("EMP_CNAME")
End If
Rs1.Close
Set Rs1 = Nothing
End Function %>
<html>
<head>
<title>導(dǎo)入Excel電子表格數(shù)據(jù)到SQL Sever數(shù)據(jù)庫(kù)</title>
<body bgcolor="#ACD9AF">
<center><b>導(dǎo)入Excel電子表格數(shù)據(jù)到SQL Sever數(shù)據(jù)庫(kù)</b></center>
<FORM METHOD="POST" name="form1">
請(qǐng)選擇數(shù)據(jù)源(本地庫(kù)):
<Select NAME="Table" title="請(qǐng)選擇需要導(dǎo)入數(shù)據(jù)的表">
<option></option>
<% Dim RsSqlDatabaseTable
Set RsSqlDatabaseTable = SqlConn.OpenSchema(20)
Do While Not RsSqlDatabaseTable.Eof %>
<option<%If Trim(Request("Table"))=RsSqlDatabaseTable(2) Then Response.Write " selected"%>><%=RsSqlDatabaseTable(2)%></option>
<% RsSqlDatabaseTable.MoveNext:Loop
Set RsSqlDatabaseTable = Nothing %>
</Select><input type=submit name=submit value="開(kāi)始導(dǎo)出">
<br>請(qǐng)選擇目標(biāo)表(遠(yuǎn)程庫(kù)):
<Select NAME="Table1" title="請(qǐng)選擇需要導(dǎo)入數(shù)據(jù)的表">
<option></option>
<% Dim RsSqlDatabaseTable1
Set RsSqlDatabaseTable1 = SqlConn1.OpenSchema(20)
Do While Not RsSqlDatabaseTable1.Eof %>
<option<%If Trim(Request("Table1"))=RsSqlDatabaseTable1(2) Then Response.Write " selected"%>><%=RsSqlDatabaseTable1(2)%></option>
<% RsSqlDatabaseTable1.MoveNext:Loop
Set RsSqlDatabaseTable1 = Nothing %>
</Select>
</FORM>
<font color=blue>導(dǎo)出過(guò)程中請(qǐng)不要刷新頁(yè)面!</font><br>
<%
If Trim(Request("Table1")) <> "" Then
Dim Sql,Rs
Sql = "Select * From Sheet1$" ''Sheet1$是我們實(shí)現(xiàn)用SQL Server自身數(shù)據(jù)轉(zhuǎn)換功能得到的表名
Set Rs = SqlConn.Execute(Sql)
If Rs.Eof And Rs.Bof Then
Response.write "沒(méi)有找到您需要的數(shù)據(jù)!!<br>"
Else
Do While Not Rs.Eof
SqlInsert = "Insert Into "&Trim(Request("Table1"))&" (EDG_Project_Name,EDG_Project_No,EDG_Project_VM,EDG_Project_VM_CnName,EDG_Project_M,EDG_Project_M_CnName,EDG_Project_Director,EDG_Project_Director_CnName) Values (''"&Trim(Rs("工程名稱"))&"'',''"&Trim(Rs("工程編號(hào)"))&"'',''"&Trim(Rs("項(xiàng)目副理"))&"'',''"&Trim(Rs("項(xiàng)目副理"))&"("&Get_EMP_CnName(Trim(Rs("項(xiàng)目副理")))&")"&"'',''"&Trim(Rs("項(xiàng)目經(jīng)理"))&"'',''"&Trim(Rs("項(xiàng)目經(jīng)理"))&"("&Get_EMP_CnName(Trim(Rs("項(xiàng)目經(jīng)理")))&")"&"'',''"&Trim(Rs("項(xiàng)目總監(jiān)"))&"'',''"&Trim(Rs("項(xiàng)目總監(jiān)"))&"("&Get_EMP_CnName(Trim(Rs("項(xiàng)目總監(jiān)")))&")"&"'')"
'' Response.Write SqlInsert
''此處插入的值根據(jù)實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu)進(jìn)行調(diào)整
SqlConn1.Execute(SqlInsert)''插入Excel表格裏所有東東
Rs.MoveNext
Loop
Response.Write "<font color=red>恭喜,成功導(dǎo)出數(shù)據(jù)!^_^</font><br>"
End If

Rs.Close
Set Rs = Nothing
End If

Call Close_Conn(SqlConn) ''關(guān)閉Excel數(shù)據(jù)庫(kù)連接
Call Close_Conn(SqlConn1) ''關(guān)閉SQL Server數(shù)據(jù)庫(kù)連接 %>
</body>
</html>
============================================================

導(dǎo)出excel文件


<%
Response.Clear
Response.ContentType = "text/xls"
Response.AddHeader "content-disposition", "attachment; filename=export.xls"   'filename導(dǎo)出的文件名

'點(diǎn)導(dǎo)出按鈕后事件

Response.Write "文件編號(hào)"&chr(9)&"文件名稱"&chr(9)&"文件版次"&chr(9)&"發(fā)起時(shí)間"&chr(9)&"生效時(shí)間"&chr(13)
'導(dǎo)出時(shí)

set conn=server.createobject("adodb.connection")
  conn.open "Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=xformdemo;Data Source=127.0.0.1"

SQL="Select * FROM c_dept"

Set rs=conn.execute(SQL)
'STOP
total=rs.fields.count      '總共的列數(shù)
'response.write total
while not rs.eof
  i=0
  while i<cint(total)
      Data=Data&rs(i)&chr(9)
   i=i+1  
  wend
  Response.Write Data&chr(13)
  Data=""
  rs.moveNext
wend
rs.close
conn.close
Response.Flush
Response.End

%>




























=================================================================================

  說(shuō)明:復(fù)制表(只復(fù)制結(jié)構(gòu),源表名:a 新表名:b)  
    
     SQL: select * into b from a where 1<>1
    
     說(shuō)明:拷貝表(拷貝數(shù)據(jù),源表名:a 目標(biāo)表名:b)  
    
     SQL: insert into b(a, b, c) select d,e,f from b;
    
     說(shuō)明:顯示文章、提交人和最后回復(fù)時(shí)間  
    
     SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate

from table where table.title=a.title) b
    
     說(shuō)明:外連接查詢(表名1:a 表名2:b)  
    
     SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
首先引用Imports system.IO

   '創(chuàng)建文件夾
    Public Sub CreateName()
        N = 0
        Dim Path As String = "\\" & getIniNode(Application.StartupPath &

"\system\Gardman.cfg", "ServerName")
        StrEmail = Path & "\" & "Email文件存儲(chǔ)"
        Try
            '根據(jù)啟動(dòng)目錄建立一個(gè)Directoryinfo對(duì)象
            Dim MyDirectoryInfo As New DirectoryInfo(StrEmail)
            MyDirectoryInfo.CreateSubdirectory(CboInputDate.Value)   '創(chuàng)建一個(gè)它的子目錄
            StrEmail = StrEmail & "\" & CboInputDate.Value
&n

創(chuàng)建表名中字段的約束2006年07月19日 星期三 01:36在一個(gè)表中,要限制一個(gè)字段只能擁有幾個(gè)值的方

法.
在表結(jié)構(gòu)設(shè)計(jì)中選中CHECK約束:點(diǎn)新建,約束名可以自己取,只要符合命名規(guī)則即可。
假設(shè)要設(shè)置QCType這個(gè)列只能默認(rèn)的幾個(gè)選項(xiàng):設(shè)置方法可以如下:
([QCType] is null or ([QCType] = 'Other' or ([QCType] = 'Fittings' or [QCType] = 'Amount')))
相當(dāng)于這個(gè)列可以為空,或者可以為Other(其他)或者為Fittings(配件)或Amount(金額)這幾個(gè)選項(xiàng),其

它選項(xiàng),輸入進(jìn)去,將提示相關(guān)的錯(cuò)誤信息。

Sql Server實(shí)用操作小技巧集合
包括安裝時(shí)提示有掛起的操作、收縮數(shù)據(jù)庫(kù)、壓縮數(shù)據(jù)庫(kù)、轉(zhuǎn)移數(shù)據(jù)庫(kù)給新用戶以已存在用戶權(quán)限、檢查

備份集、修復(fù)數(shù)據(jù)庫(kù)等
(一)掛起操作
在安裝Sql或sp補(bǔ)丁的時(shí)候系統(tǒng)提示之前有掛起的安裝操作,要求重啟,這里往往重啟無(wú)用,解決辦法:
到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
刪除PendingFileRenameOperations

(二)收縮數(shù)據(jù)庫(kù)
--重建索引
DBCC REINDEX
DBCC INDEXDEFRAG
--收縮數(shù)據(jù)和日志
DBCC SHRINKDB
DBCC SHRINKFILE

(三)壓縮數(shù)據(jù)庫(kù)
dbcc shrinkdatabase(dbname)

(四)轉(zhuǎn)移數(shù)據(jù)庫(kù)給新用戶以已存在用戶權(quán)限
exec sp_change_users_login 'update_one','newname','oldname'
go

(五)檢查備份集
RESTORE VERIFYONLY from disk='E:\dvbbs.bak'

(六)修復(fù)數(shù)據(jù)庫(kù)
Alter DATABASE [dvbbs] SET SINGLE_USER
GO
DBCC CHECKDB('dvbbs',repair_allow_data_loss) WITH TABLOCK
GO
Alter DATABASE [dvbbs] SET MULTI_USER
GO

COMPUTE BY 子句使您得以用同一 Select 語(yǔ)句既查看明細(xì)行,又查看匯總行??梢杂?jì)算子組的匯總值,

也可以計(jì)算整個(gè)結(jié)果集的匯總值。

COMPUTE 子句需要下列信息:

可選的 BY 關(guān)鍵字,該關(guān)鍵字可按對(duì)一列計(jì)算指定的行聚合。


行聚合函數(shù)名稱;例如,SUM、AVG、MIN、MAX 或 COUNT。


要對(duì)其執(zhí)行行聚合函數(shù)的列。
COMPUTE 生成的結(jié)果集
COMPUTE 所生成的匯總值在查詢結(jié)果中顯示為分離的結(jié)果集。包括 COMPUTE 子句的查詢的結(jié)果類似于控

制中斷報(bào)表,即匯總值由指定的組(或

稱中斷)控制的報(bào)表??梢詾楦鹘M生成匯總值,也可以對(duì)同一組計(jì)算多個(gè)聚合函數(shù)。

當(dāng) COMPUTE 帶有可選的 BY 子句時(shí),符合 Select 條件的每個(gè)組都有兩個(gè)結(jié)果集:

每個(gè)組的第一個(gè)結(jié)果集是明細(xì)行集,其中包含該組的選擇列表信息。


每個(gè)組的第二個(gè)結(jié)果集有一行,其中包含該組的 COMPUTE 子句中所指定的聚合函數(shù)的小計(jì)。
當(dāng) COMPUTE 不帶可選的 BY 子句時(shí),Select 語(yǔ)句有兩個(gè)結(jié)果集:

每個(gè)組的第一個(gè)結(jié)果集是包含選擇列表信息的所有明細(xì)行。


第二個(gè)結(jié)果集有一行,其中包含 C
使SQL數(shù)據(jù)庫(kù)日志1G多收縮成幾兆的過(guò)程2006年07月19日 星期三 01:25首先在您要收縮的數(shù)據(jù)庫(kù)中,進(jìn)去

查詢分析器:
輸入如下代碼:DUMP TRANSACTION [db_name] WITH NO_LOG     [db_name]:數(shù)據(jù)庫(kù)的名稱
然后用“收縮數(shù)據(jù)庫(kù)”工具將刪除后留下的空白空間收回。具體如下操作:
然后選中要收縮的數(shù)據(jù)庫(kù),右擊所有任務(wù),再點(diǎn)收縮數(shù)據(jù)庫(kù)。會(huì)彈出一個(gè)窗口,點(diǎn)擊收縮文件下面的一個(gè)

文件按鈕,在下拉框中,選擇數(shù)據(jù)庫(kù)名稱_Log的文件,在收縮操作中,選擇第四個(gè)按鈕,看它最小值能小

的那個(gè)值,你就填那個(gè)最小的值,接著點(diǎn)確定即可。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
導(dǎo)入Excel電子表格數(shù)據(jù)到SQL Sever數(shù)據(jù)庫(kù)
ASP操作Excel技術(shù)總結(jié)
asp代碼實(shí)現(xiàn)EXCEL數(shù)據(jù)導(dǎo)入到SQL數(shù)據(jù)庫(kù)
ASP導(dǎo)出EXCEL通用
Import MS Excel data to SQL Server table using C#
用ADO SQL方法將txt文本數(shù)據(jù)導(dǎo)入Excel | VBA實(shí)例教程
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服