錯誤一:運行代碼時出現如下錯誤:
-------------------------------------------------------------------
編譯器錯誤信息: BC30002: 未定義類型「ADOConnection」。
源錯誤:
行 11: <Script Language="VB" Runat="Server">
行 12: Sub Button1_Click(sender As Object, E As EventArgs)
行 13: Dim cnA As ADOConnection=New ADOConnection
行 14: Dim cmA As ADOCommand=New ADOCommand
行 15: cnA.Provider="Microsoft.Jet.OLEDB.4.0"
源文件: g:\inetpub\wwwroot\WebApplication1\WebForm3.aspx 行: 13
-----------------------------------------------------------------------------
這是因為NameSpace出錯!
使用如下:
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.Oledb" %>
對應變量聲明為:
dim myconn as OledbConnection
dim mycommand as OledbCommand
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.SqlClient" %>
對應變量聲明為:
dim myconn as SqlConnection
dim mycommand as SqlCommand
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.ODBC" %>
對應變量聲明為:
dim myconn as ODBCConnection
dim mycommand as ODBCCommand
測試程序分別如下:
=============================
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.Oledb" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
</HEAD>
<BODY>
<script language="vb" runat="server">
Sub Page_load(Sender As Object, E As EventArgs)
dim ds as dataset
dim myconn as OledbConnection
dim mycommand as OledbCommand
myconn=new Oledbconnection("Provider=SQLOLEDB; Data Source=(local);uid=sa; pwd=pssword; Initial Catalog=database")
myconn.open()
mycommand=new Oledbcommand("select * from user_info",myconn)
Dim myReader As OleDbDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Datagrid1.DataSource =myreader
Datagrid1.DataBind()
End Sub
</script>
<P>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<FONT face="細明體">
<asp:datagrid id="DataGrid1" runat="server"></asp:datagrid></FONT>
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</P>
</BODY>
</HTML>
==============================
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.SqlClient" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
</HEAD>
<BODY>
<script language="vb" runat="server">
Sub Page_load(Sender As Object, E As EventArgs)
dim ds as dataset
dim myconn as sqlconnection
dim mycommand as SqlCommand
myconn=new Sqlconnection("server=(local); uid=sa; pwd=huangfeng;database=jxjyzb")
myconn.open()
mycommand=new Sqlcommand("select * from user_info",myconn)
Dim myReader As SqlDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Datagrid1.DataSource =myreader
Datagrid1.DataBind()
End Sub
</script>
<P>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<FONT face="細明體">
<asp:datagrid id="DataGrid1" runat="server"></asp:datagrid></FONT>
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</P>
</BODY>
</HTML>
==============================
<%@ import Namespace="system.data" %>
<%@ import Namespace="system.data.ODBC" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
</HEAD>
<BODY>
<script language="vb" runat="server">
Sub Page_load(Sender As Object, E As EventArgs)
dim ds as dataset
dim myconn as Odbcconnection
dim mycommand as OdbcCommand
myconn=new ODbcconnection("DRIVER={SQL Server};uid=yourusername;pwd=yourpassword;SERVER=(local);DATABASE=yourdatabasename")
myconn.open()
mycommand=new ODBCcommand("select * from user_info",myconn)
Dim myReader As ODBCDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection)
Datagrid1.DataSource =myreader
Datagrid1.DataBind()
End Sub
</script>
<P>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<FONT face="細明體">
<asp:datagrid id="DataGrid1" runat="server"></asp:datagrid></FONT>
<meta content="Visual Basic .NET 7.1" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</P>
</BODY>
</HTML>
==============================
以上程序編寫各類和方法的使用可參考:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemdataoledboledbcommandmemberstopic.asp
注意在使用數據庫連接時,應對應使用不同種的格式字符串連接:
如果您使用憑據(用戶名和密碼)來連接到 SQL Server 數據庫,則連接字符串形式如下:
Using the SQL Server .NET Data Provider:
SqlConnection conn = new SqlConnection(
"server=YourServer; uid=YourUserName; pwd=YourStrongPwd;" +
"database=YourDatabase");
Using the OLE DB .NET Data Provider:
OleDbConnection conn = new OleDbConnection(
"Provider=SQLOLEDB; Data Source=YourServer;" +
"uid=YourUserName; pwd=YourStrongPwd; Initial Catalog=YourDatabase");
Using the ODBC .NET Data Provider:
ODBCConnection conn = new ODBCConnection(
"DRIVER={SQL Server};SERVER=MyServer;uid=YourUserName; pwd=YourStrongPwd;DATABASE=northwind;");
如果您需要連接到安裝在同一計算機上的 SQL Server 的特定實例(只在 SQL Server 2000 或以後版本中提供的功能),則連接字符串形式如下:
Using the SQL Server .NET Data Provider:
SqlConnection conn = new SqlConnection(
"server=YourServer\Instance; uid=YourUserName; pwd=YourStrongPwd;" +
"database=YourDatabase");
如果您利用顯式憑據(用戶名和密碼)連接到 Oracle 數據庫,則連接字符串形式如下:
OleDbConnection conn = new OleDbConnection(
"Provider=MSDAORA; Data Source=YourDatabaseAlias;" +
"User ID=YourUserName; Password=YourStrongPwd;");
以上我查了好多網上下載的CHM幫助文件,測試源程序,都測試出現類似錯誤。仔細查閱微軟在線幫助,發現System.Date.Sql在新版本的.Net框架中已經不再使用了,這點值得新手注意。
數據安全訪問設計詳細參考如下:http://www.microsoft.com/china/msdn/library/architecture/architecture/architecturetopic/BuildSucApp/BSAAsecmod12.mspx
|
|