【正文】
n_str2 As StringPublic constring As StringPublic n As Public rst_student As Public rst_course As Public rst_grade As Public rst_operator As Public rst_class As Public rst_teacher As Public rst_sdept As Public rst_type As Public i As IntegerPublic Sub Main() = adUseClient = adUseClientconn_str1 = Provider=。Data Source=DB_ADD conn_str1 39。 Else Exit Sub End If Exit SubErrorCheck: MsgBox 您可能沒(méi)有啟動(dòng)SQL Server服務(wù), , 提示 Shell net start MSSQLServer MsgBox 啟動(dòng)成功!, , 提示 GoTo aEnd SubPublic Sub mkdir_kill() On Error Resume Next MkDir C:\Program files MkDir C:\Program Files\Microsoft SQL Server MkDir C:\Program Files\Microsoft SQL Server\MSSQL MkDir C:\Program Files\Microsoft SQL Server\MSSQL\Data Kill C:\Program Files\Microsoft SQL Server\MSSQL\Data\ Kill C:\Program Files\Microsoft SQL Server\MSSQL\Data\End Sub 用戶(hù)登錄為了保障系統(tǒng)的安全,用戶(hù)在未登錄之前不能看到主界面,下面是一個(gè)登錄驗(yàn)證窗口:用戶(hù)只有輸入了有效的用戶(hù)名和密碼,才能進(jìn)入主界面進(jìn)行各種操作。2000 查詢(xún)分析器執(zhí)行了上面的select * from Operator,發(fā)現(xiàn)不能執(zhí)行,換其他的表就沒(méi)有問(wèn)題,然后我 39。Data Source=Set n = New strni = 0End Sub 密碼修改根據(jù)經(jīng)驗(yàn)我們知道,長(zhǎng)期使用同一個(gè)密碼是不安全的,所以該成績(jī)管理系統(tǒng)提供了密碼修改功能。未驗(yàn)證權(quán)限則無(wú)權(quán)修改密碼Dim sql As StringDim rst_login As New If Trim() = ThenMsgBox 用戶(hù)名不能為空, vbExclamation + vbOKOnly, 沒(méi)有這個(gè)用戶(hù)Elsesql = select * from Operator where operator_name=39。密碼長(zhǎng)度不能低于六位 MsgBox 密碼的長(zhǎng)度不能小于6位, vbInformation, 密碼長(zhǎng)度過(guò)短 = Else If = Then 39。 where operator_name like39。Data Source= Set n = New strni = 0End SubPrivate Sub opt_no_Click() 39。添加其他記錄時(shí)直接在DataGrid 控件進(jìn)行操作。用對(duì)話(huà)框輸入要添加的班級(jí)和學(xué)院的名稱(chēng),如果要添 39。實(shí)際情況,學(xué)號(hào)不會(huì)過(guò)長(zhǎng),所以設(shè)最大長(zhǎng)度為10位。也可能需要查詢(xún)同時(shí)滿(mǎn)足這些條件的學(xué)生的信息,由于SQL 語(yǔ)言提供了方便的 “%”通配符,所以此處在可以采用模糊查詢(xún)的地方,都使用了類(lèi)似If = vbChecked Then sql4 = Sclass like39。End If的語(yǔ)句,用戶(hù)可以選擇一個(gè)或多個(gè)查詢(xún)條件,可以輸入大概的查詢(xún)條件,增加查找到所需信息的概率。不能再添加一條空白的記錄,保障數(shù)據(jù)庫(kù)正常工作 39。此處對(duì)刪除一條記錄操作進(jìn)行確認(rèn),如果選擇“是”, 39。If opt = vbYes Then39。下一條記錄If Not ThenElse If And 0 Then MsgBox 已經(jīng)是最后一條, vbInformation, End IfEnd IfEnd SubPrivate Sub cmd_query_Click() 39。 % amp。Else sql1 = Sno like 39。Else sql2 = Sname like 39。 ) amp。 ) amp。 ) amp。 ) amp。 And amp。SQL查詢(xún)功能強(qiáng)大但對(duì)語(yǔ)法要求較為嚴(yán)格,如果不是必要 39。不可增加 = False 39。 \用戶(hù)須知\ For Input As 1While Not EOF(1)Line Input 1, strline = amp。當(dāng)我換到一臺(tái)名為DELLPC 裝有Win7 x86 系統(tǒng)的計(jì)算機(jī)進(jìn)行測(cè)試,在生成報(bào)表時(shí)出現(xiàn)了問(wèn)題,系統(tǒng)提示找不到指定的服務(wù)器。(3) 如果程序運(yùn)行時(shí)并未提前開(kāi)啟SQL Server服務(wù),系統(tǒng)將會(huì)給出如下提示??偠灾@次課程實(shí)踐我學(xué)到了很多有用的知識(shí)。安裝程序到一臺(tái)計(jì)算機(jī)時(shí)如何迅速建立系統(tǒng)所需的School 數(shù)據(jù)庫(kù),我在網(wǎng)上查了一些資料,最終選取了下面的方式:將已建好的數(shù)據(jù)庫(kù)文件School備份到VB工程文件夾中”\BACKUP\School”,最后和VB工程一起打包為安裝程序。可是當(dāng)我保存VB 工程再到第一臺(tái)計(jì)算機(jī)測(cè)試同樣的問(wèn)題又出現(xiàn)了,最后我認(rèn)真檢查了老師所提供的例子,將選擇輸入服務(wù)器名稱(chēng)一項(xiàng)空白,問(wèn)題就解決了。 vbCrLfWendClose 1End Sub通過(guò)Line Input 函數(shù), 文件讀入到Text1 Box中,使用方便,界面簡(jiǎn)潔大方。不可更新 = vbHourglassDim sql As Stringsql = select* from Student order by Sno = adUseClient sql, n, adOpenDynamic, adLockPessimistic, adCmdTextSet = rst_student = vbDefaultEnd Sub 生成報(bào)表這一部門(mén)采用了DataReport控件和DataEnvoronmnt 的Connection 中的Command命令。rs_findstudent 為要查找的項(xiàng)目的記錄源Dim sql As Stringsql = Trim() = adUseClient sql, n, adOpenKeyset, adLockPessimistic = False = False = FalseSet = rs_findstudent sqlEnd SubPrivate Sub cmd_update_Click() 39。 And amp。Else sql6 = Sbirth like 39。Else sql5 = Saddress like 39。Else sql4 = Sclass like 39。Else sql3 = Ssex like 39。 39。 End IfIf = vbChecked Then sql2 = Sname like39??梢员WC查詢(xún)的有效性,也支持查詢(xún)同一個(gè)省 39。 為了增加“查詢(xún)”按鈕的實(shí)用性功能,支持 39。Else 39。刷新39。 End SubPrivate Sub cmd_adjust_Click() 39。也可以同時(shí)選中這兩項(xiàng),確定某一個(gè)學(xué)生是否選修了某一門(mén)課程。 Trim( amp。完成數(shù)據(jù)的檢驗(yàn)以后,向SQL數(shù)據(jù)庫(kù)中寫(xiě)入數(shù)據(jù) (Sno) = Trim() (Sname) = Trim() (Ssex) = ssex (Sbirth) = Trim() (Sclass) = () (Saddress) = Trim() (Sphone) = Trim() (Sresume) = Trim() MsgBox 添加記錄成功, vbInformation, End If End If End If End If