調試通了在vs2005下,
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server" language="vbscript">
Sub On_click(ByVal sender As Object, ByVal e As EventArgs)
Dim conn As New SqlConnection()
Dim objReader As SqlDataReader
Dim i As Integer
'conn.ConnectionString = "data source=.;integrated security=sspi;Initial catalog=xscj;packet size=4096"錯誤
'SQL Server資料庫連接串
conn.ConnectionString = "data source=.;initial catalog=data;integrated security=False;User Id=sa;Pwd=;packet size=4096"
conn.Open()
'建立SqlCommand對象
Dim cmd As New SqlCommand()
cmd.Connection = conn
cmd.CommandType = CommandType.StoredProcedure '設定SqlCommand對象的命令類型為預存程序
cmd.CommandText = "showscore" '指定執行的預存程序
cmd.Parameters.Clear()
'添加學號和課程名參數
cmd.Parameters.Add(New SqlParameter("@no", SqlDbType.VarChar, 10))
cmd.Parameters.Add(New SqlParameter("@course", SqlDbType.VarChar, 20))
'為各參數賦值
cmd.Parameters("@no").Value = Stu.Text
cmd.Parameters("@course").Value = kc.Text
'執行預存程序
objReader = cmd.ExecuteReader()
'讀取並顯示資料
Response.Write("<h2 align=center> 執行預存程序showsocre的結果表</h2>")
Response.Write("<table align=center border=2 ><tr align=center >")
For i = 0 To objReader.FieldCount - 1 '顯示表欄位名
Response.Write("<td>" & objReader.GetName(i) & "</td>")
Next
While objReader.Read()
Response.Write("<tr>")
For i = 0 To objReader.FieldCount - 1
Response.Write("<td>" & objReader.GetValue(i) & "</td>")
Next
Response.Write("<tr>")
End While
Response.Write("</table>")
objReader.Close() '關閉DataReader對象
conn.Close() '關閉資料連線
End Sub
</script>