⑴ asp.net注冊頁面數據寫入資料庫問題。我用的是ACCESS資料庫
是不是SQL語句錯了。 insert into 你的少個into 另外第3個參數RadioButtonList1.SelectedItem.Value是object類型的,需要先轉換成string才能往資料庫插入。
⑵ asp.net連接sql資料庫的連接字元串怎麼寫啊
連接資料庫文件
<addname="LocalSqlServer"connectionString="DataSource=.SQLExpress;IntegratedSecurity=True;AttachDBFilename=|DataDirectory|TimeTracker.mdf;UserInstance=true"/>
SqlConnectionStringBuilder實例化時,要用到connectionString,如:
=newSqlConnectionStringBuild(connectionString);
一、Data Source
SqlConnectionStringBuilder的DataSource屬性,對應connectionString中的Data Source,「Data Source」可以由下列字元串代替:「server」,「address」,「addr」和「network address」。
Data Source=.SQLExpress也可以寫成這樣Data Source=(local)SQLExpress。
二、Integrated Security
SqlConnectionStringBuilder的IntegratedSecurity屬性,對應connectionString中的Integrated Security,「Integrated Security」可以寫成「trusted_connection」,為true時,使用當前的 Windows 帳戶憑據進行身份驗證,為false時,需要在連接中指定用戶 ID 和密碼。
三、AttachDBFilename
SqlConnectionStringBuilder的AttachDBFilename屬性,對應connectionString中的AttachDBFilename,「AttachDBFilename」可以寫成「extended properties」,「initial file name」。AttachDbFileName屬性指定連接打開的時候動態附加到伺服器上的資料庫文件的位置。這個屬性可以接受資料庫的完整路徑和相對路徑(例如使用|DataDirectory|語法),在運行時這個路徑會被應用程序的App_Data目錄所代替。
四、User Instance
SqlConnectionStringBuilder的UserInstance屬性,對應connectionString中的User Instance ,該值指示是否將連接從默認的 SQL Server Express 實例重定向到在調用方帳戶之下運行並且在運行時啟動的實例。UserInstance=true,在這種情況下,SQLServerExpress為了把資料庫附加到新的實例,建立一個新的進程,在打開連接的用戶身份下運行。在ASP.NET應用程序中,這個用戶是本地的ASPNET帳號或默認的NetworkService,這依賴於操作系統。為了安全地附加非系統管理員帳號(例如ASP.NET帳號)提供的資料庫文件,建立一個獨立的SQLServer用戶實例是必要的。
示例:
多數都是在CONFIG文件里寫入連接字元串
<appSettings>
<!--連接資料庫伺服器-->
<addkey="CRMonnection"value="DataSource=Sufei;InitialCatalog=CRM;IntegratedSecurity=false;uid=nouter;Password=123456"></add>
<addkey="ForumName"value="luohe"/>
<!--連接資料庫文件-->
<addkey="CRMConnectionString"value="DataSource=.SQLEXPRESS;AttachDbFilename=|DataDirectory|CRM.mdf;IntegratedSecurity=True;ConnectTimeout=30;UserInstance=True"/>
</appSettings>
然後,在程序里再讀取連接字元串到變數
System.Configuration.ConfigurationSettings.AppSettings["CRMConnectionString"];
⑶ 如何將ASPNET網頁中的數據更新到資料庫的表中其中表已經定義。
protected void Button1_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection cn = new System.Data.SqlClient.SqlConnection("Data Source="資料庫地址";Initial Catalog = "資料庫名稱";User ID="用戶名";Password="密碼";Connect Timeout=60");//資料庫連接
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
string sql = "insert investigation (欄位1名稱,欄位2名稱) values('"+Textbox1.Text+"','"+Textbox2.Text+"')";
cmd.CommandText = sql;//要執行的sql語句
cmd.Connection = cn;//傳入資料庫連接參數
cn.Open();//打開資料庫連接
if(cmd.ExecuteNonQuery())//執行cmd.CommandText中的sql
{
//成功時執行
}
else
{
//失敗時執行
}
}
頁面中加入
<form id="form1" runat="server">
<asp:TextBox ID="Textbox3" runat="server"></asp:TextBox>
<asp:TextBox ID="Textbox4" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>
⑷ ASP.NET連接資料庫有哪幾種方法
連接Access
首先看一個例子代碼片斷:
程序代碼:
--------------------------------------------------------------------------------
using System.Data;
using System.Data.OleDb;
......
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb";
OleDbConnection objConnection=new OleDbConnection(strConnection);
......
objConnection.Open();
objConnection.Close();
......
--------------------------------------------------------------------------------
解釋:
連接Access資料庫需要導入額外的命名空間,所以有了最前面的兩條using命令,這是必不可少的!
strConnection這個變數里存放的是連接資料庫所需要的連接字元串,他指定了要使用的數據提供者和要使用的數據源.
"Provider=Microsoft.Jet.OleDb.4.0;"是指數據提供者,這里使用的是Microsoft Jet引擎,也就是Access中的數據引擎,asp.net就是靠這個和Access的資料庫連接的.
"Data Source=C:\BegASPNET\Northwind.mdb"是指明數據源的位置,他的標准形式是"Data Source=MyDrive:MyPath\MyFile.MDB".
ps:
1."+="後面的"@"符號是防止將後面字元串中的"\"解析為轉義字元.
2.如果要連接的資料庫文件和當前文件在同一個目錄下,還可以使用如下的方法連接:
strConnection+="Data Source=";
strConnection+=MapPath("Northwind.mdb");
這樣就可以省得你寫一大堆東西了!
3.要注意連接字元串中的參數之間要用分號來分隔.
"OleDbConnection objConnection=new OleDbConnection(strConnection);"這一句是利用定義好的連接字元串來建立了一個鏈接對象,以後對資料庫的操作我們都要和這個對象打交道.
"objConnection.Open();"這用來打開連接.至此,與Access資料庫的連接完成.其餘操作(插入,刪除...)請參閱相關書籍
連接SQL Server
例子代碼片斷:
程序代碼:
--------------------------------------------------------------------------------
using System.Data;
using System.Data.SqlClient;
...
string strConnection="user id=sa;password=;";
strConnection+="initial catalog=Northwind;Server=YourSQLServer;";
strConnection+="Connect Timeout=30";
SqlConnection objConnection=new SqlConnection(strConnection);
...
objConnection.Open();
objConnection.Close();
...
--------------------------------------------------------------------------------
解釋:
連接SQL Server資料庫的機制與連接Access的機制沒有什麼太大的區別,只是改變了Connection對象和連接字元串中的不同參數.
首先,連接SQL Server使用的命名空間不是"System.Data.OleDb",而是"System.Data.SqlClient".
其次就是他的連接字元串了,我們一個一個參數來介紹(注意:參數間用分號分隔):
"user id=sa":連接資料庫的驗證用戶名為sa.他還有一個別名"uid",所以這句我們還可以寫成"uid=sa".
"password=":連接資料庫的驗證密碼為空.他的別名為"pwd",所以我們可以寫為"pwd=".
這里注意,你的SQL Server必須已經設置了需要用戶名和密碼來登錄,否則不能用這樣的方式來登錄.如果你的SQL Server設置為Windows登錄,那麼在這里就不需要使用"user id"和"password"這樣的方式來登錄,而需要使用"Trusted_Connection=SSPI"來進行登錄.
"initial catalog=Northwind":使用的數據源為"Northwind"這個資料庫.他的別名為"Database",本句可以寫成"Database=Northwind".
"Server =YourSQLServer":使用名為"YourSQLServer"的伺服器.他的別名為"Data Source","Address","Addr".如果使用的是本地資料庫且定義了實例名,則可以寫為"Server=(local)\實例名";如果是遠程伺服器,則將"(local)"替換為遠程伺服器的名稱或IP地址.
"Connect Timeout=30":連接超時時間為30秒.
在這里,建立連接對象用的構造函數為:SqlConnection.
其餘的就和Access沒有什麼區別了!
⑸ 如何把session存儲到資料庫里
aspnet中,session默認以inproc模式存儲,也就是保存在iis進程中,這樣有個優點就是效率高,但不利於為本負載均衡擴展。可以把session信息保存在SQL Server中,據說,該種方式比起inproc性能損失為10%-20%。如何實現呢,主要分兩步介紹:
1、初始化SQL Server中的狀態資料庫
ASP.NET SQL Server 提供注冊工具Aspnet_regsql.exe,用於創建供 ASP.NET 中的 SQL Server 提供程序使用的 Microsoft SQL Server 資料庫。Aspnet_regsql.exe位於 /%windir%/Microsoft.NET/Framework/<versionNumber>/aspnet_regsql.exe 目錄下。如果麻煩,可以 直接用visual studio tools 的命令提示工具中直接輸入aspnet_regsql.exe使用。用法如下:
Aspnet_regsql.exe <options>
可以用如下的語法來添加默認session資料庫ASPState
aspnet_regsql.exe -S localhost -U sa -P why1234? -ssadd -sstype p
-S,-U/-P
必須是大寫,分別表示資料庫伺服器,用戶名和密碼。
-ssadd / –ssremove 參數:
-ssadd表示是添加Session資料庫, -ssremove表示移除Session資料庫.
創建自定義資料庫myAppState,可以用如下的語法:
aspnet_regsql.exe -S localhost -U sa -P why1234? -ssadd -sstype c -d myAppState
2、配置webconfig
在webconfig的 <system.web>節下添加如下配置:
<sessionState mode="SQLServer" sqlConnectionString="server=localhost; uid=sa; pwd=123456;"/>
如果在初始化資料庫的時候,創建了自定義資料庫可以用類似於如下的的配置:
<sessionState mode="SQLServer" allowCustomSqlDatabase="true" sqlConnectionString="server=localhost; DataBase=myAspState;uid=sa; pwd=123456;"/>
通過以上兩步的設置,已經可以了。詳細情況請參閱msdn。