sqldata
⑴ asp.net 中sqldata類
自己寫呀 都是自己寫 我這有你需要?
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Collections.Generic;
public class SqlDbHelper
{
private static string CONNECTION_STRING = System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
/// <summary>
/// 執行Select語句,
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static DataSet ExecuteSelectSql(string strSql)
{
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
SqlDataAdapter da = new SqlDataAdapter(strSql, conn);
DataSet ds = new DataSet();
try
{
da.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw new Exception("執行SQL出現錯誤:\r\n"+strSql+"\r\n"+ex.ToString());
}
finally
{
conn.Close();
}
//throw new NotImplementedException();
}
/// <summary>
/// 執行UPDATE語句
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static int ExecuteUpdateSql(string strSql)
{
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandType = CommandType.Text;
comm.CommandText = strSql;
int ret = -1;
try
{
conn.Open();
ret = comm.ExecuteNonQuery();
return ret;
}
catch (Exception ex)
{
throw new Exception("執行SQL出現錯誤:\r\n" + strSql + "\r\n" + ex.ToString());
}
finally
{
conn.Close();
}
//throw new NotImplementedException();
}
/// <summary>
/// 執行Delete語句
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static int ExecuteDelSql(string strSql)
{
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
SqlCommand comm = new SqlCommand(strSql,conn);
int ret = -1;
try
{
conn.Open();
ret = comm.ExecuteNonQuery();
return ret;
}
catch (Exception ex)
{
throw new Exception("執行SQL出現錯誤:\r\n" + strSql + "\r\n" + ex.ToString());
}
finally
{
conn.Close();
}
//throw new NotImplementedException();
}
/// <summary>
/// 執行Insert語句
/// </summary>
/// <param name="strSql"></param>
/// <returns></returns>
public static int ExecuteInsertSql(string strSql)
{
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandType = CommandType.Text;
comm.CommandText = strSql;
int ret = -1;
try
{
conn.Open();
ret = comm.ExecuteNonQuery();
return ret;
}
catch (Exception ex)
{
throw new Exception("執行SQL出現錯誤:\r\n" + strSql + "\r\n" + ex.ToString());
}
finally
{
conn.Close();
}
//throw new NotImplementedException();
}
public static Object ExecuteScalar(string strSql)
{
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
SqlCommand comm = new SqlCommand();
comm.Connection = conn;
comm.CommandType = CommandType.Text;
comm.CommandText = strSql;
try
{
conn.Open();
SqlDataReader dr = comm.ExecuteReader();
if (dr.Read())
{
return dr[0];
}
else
{
return null;
}
}
catch (Exception ex)
{
throw new Exception("執行SQL出現錯誤:\r\n" + strSql + "\r\n" + ex.ToString());
}
finally
{
conn.Close();
}
//throw new NotImplementedException();
}
public SqlConnection GetConnection()
{
SqlConnection conn = new SqlConnection(CONNECTION_STRING);
return conn;
//throw new NotImplementedException();
}
}
⑵ SQLdata是什麼
公共類的編寫可以減少重復代碼的編寫,有利於代碼維護。
創建類文件的方法為:在解決方案資源管理器的項目中,右鍵單擊項目文件,在彈出的快捷菜單中選擇「添加新項」,在彈出的「添加新項」對話框中選擇「類」,修改名稱為SqlData.cs。如圖26.5所示。
圖26.5 創建類文件
1.SqlData類中的全局變數
在SqlData類中聲明了3個全局變數,以便在下面的程序代碼中能夠重復使用,避免了重復編寫相同的代碼段,聲明全局變數的位置和變數類型的代碼如下:
using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;//引用資料庫命名空間using System.Data.SqlClient;/// <summary>/// SqlData 的摘要說明/// </summary>public class SqlData{private SqlConnection sqlcon; //申明一個SqlConnection對象private SqlCommand sqlcom; //申明一個SqlCommand對象private SqlDataAdapter sqldata; //申明一個SqlDataAdapter對象 public SqlData(){//// TODO: 在此處添加構造函數邏輯//}//以下為該類中的其他方法… …}
注意:#region預處理器指令在使用Visual Studio代碼編輯器的大綱顯示功能時,指定可展開或折疊的代碼塊。這個功能非常實用,尤其在編輯復雜的類時,可以使得代碼結構更加清晰,在查詢代碼時可以快速地找到需要的代碼行,讀者在初學時一定要學會運用這種預處理器指令的方法,養成良好的編程習慣。
#region name
此處name是希望給予將出現在Visual Studio代碼編輯器中的區域的名稱。
2.SqlData類中的構造函數
構造函數中包含連接資料庫的字元串,當聲明一個類的對象時,將連接資料庫。
#region 構造函數/// <summary>/// 構造函數,初始化時連接資料庫/// </summary>public SqlData(){sqlcon = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);sqlcon.Open(); //打開鏈接}#endregion
3.SqlData類中的BindData(GridView dl,string SqlCom)方法
BindData方法用來綁定用戶控制項,返回值為Boolean型,主要用來綁定頁面中的GridView控制項,執行成功後返回True,否則返回False。
BindData方法主要設計技術要點如下。
GridView控制項的DataBind()方法表示要對數據源綁定後,將數據顯示到相應的控制項中。
try{…}catch{…}finally{…}語句是程序當中的異常處理機制,通過它可以很好地解決程序當中的異常問題。
GridView控制項的DataSource屬性表示將指定的數據源綁定到控制項上。
sqlcon.Close()關閉當前與資料庫的連接。
#region 綁定用戶頁面中的GridView控制項/// <summary>/// 此方法實現數據綁定到GridView中/// </summary>/// <param name="dl">要綁定的控制項</param>/// <param name="SqlCom">要執行的SQL語句</param>/// <returns></returns>public bool BindData(GridView dl, string SqlCom){dl.DataSource = this.ExceDS(SqlCom);try{dl.DataBind();return true;}catch{return false;}finally{sqlcon.Close();}}#endregion
4.SqlData類中的ExceSQL(string SqlCom)方法
ExecSQL方法用來執行SQL語句,返回值為Boolean型,主要用於對資料庫中數據執行添加、修改、刪除的操作,相應功能執行成功後返回True,否則返回False。
ExceSQL方法主要設計技術要點如下。
SqlCommand對象表示要對SQL Server資料庫執行的一個SQL語句或存儲過程。
SqlCommand類的ExecuteNonQuery()方法對連接執行SQL語句並返回受影響的行數。
#region 執行SQL語句/// <summary>/// 此方法用來執行SQL語句/// </summary>/// <param name="SqlCom">要執行的SQL語句</param>/// <returns></returns>public bool ExceSQL(string SqlCom){sqlcom = new SqlCommand(SqlCom,sqlcon);try{sqlcom.ExecuteNonQuery();return true;}catch{
return false;
}
finally
{
sqlcon.Close();
}
}
#endregion
5.SqlData類中的ExceDS(string SqlCom)方法
ExecDS方法用來返回DataSet類型的數據,並將數據填充到數據集中,相應功能執行成功後返回ds。
ExceDS方法主要設計技術要點如下。
SqlDataAdapter類用於填充DataSet並更新SQL Server資料庫的一組數據命令和一個資料庫連接。
SqlDataAdapter類的Fill方法是可重載的,在此主要實現填充數據集。
#region 返回DataSet類型數據/// <summary>/// 此方法返回一個DataSet類型/// </summary>/// <param name="SqlCom">要執行的SQL語句</param>/// <returns></returns>public DataSet ExceDS(string SqlCom){try{sqlcom = new SqlCommand(SqlCom, sqlcon);sqldata = new SqlDataAdapter();sqldata.SelectCommand = sqlcom;DataSet ds = new DataSet();sqldata.Fill(ds);return ds;}finally{sqlcon.Close();}}#endregion
注意:DataSet是ADO.NET結構的主要組件,它是從數據源中檢索到的數據在內存中的緩存。在典型的多層實現中,用於創建和刷新DataSet並依次更新原始數據的步驟包括:通過DataAdapter使用數據源中的數據生成和填充DataSet中的每個DataTable;通過添加、更新或刪除DataRow對象更改單個DataTable對象中的數據;調用GetChanges方法以創建只反映對數據進行的更改的第二個DataSet;調用DataAdapter的Update方法,並將第二個DataSet作為參數傳遞;調用Merge方法將第二個DataSet中的更改合並到第一個中;針對DataSet調用AcceptChanges或者調用RejectChanges以取消更改。
6.SqlData類中的ExceRead(string SqlCom)方法
ExceRead方法用來返回SqlDataReader類型的數據,相應功能執行成功後返回SqlDataReader的對象名read。
#region 返回SqlDataReader類型的數據/// <summary>/// 此方法返回一個SqlDataReader類型的參數/// </summary>/// <param name="SqlCom"></param>/// <returns></returns>public SqlDataReader ExceRead(string SqlCom){sqlcom = new SqlCommand(SqlCom, sqlcon);SqlDataReader read = sqlcom.ExecuteReader();return read;}#endregion
注意:若要創建SqlDataReader,必須調用SqlCommand對象的ExecuteReader方法,而不要直接使用構造函數。在使用SqlDataReader時,關聯的SqlConnection正忙於為SqlDataReader服務,對SqlConnection無法執行任何其他操作,只能將其關閉。除非調用SqlDataReader的Close方法,否則會一直處於此狀態。例如,在調用Close之前,無法檢索輸出參數。SqlDataReader的用戶可能會看到在讀取數據時另一進程或線程對結果集所做的更改。但是,確切的行為與執行時間有關。當SqlDataReader關閉後,只能調用IsClosed和RecordsAffected屬性。盡管當SqlDataReader存在時可以訪問RecordsAffected屬性,但是請始終在返回RecordsAffected的值之前調用Close,以保證返回精確的值。
⑶ C# SqlDataAdapte
一樓的解釋完全錯了,混淆了sqldataadapter與DataSet的概念。
sqldataadapter是數據適配器,用於從資料庫中獲取數據(通過執行Select命令),然後再填充到某個dataset對象中。 DataSet才是斷開模式的。
1、為什麼SqlDataAdapte在連接關閉的也可以填充數據表? 是因為SqlDataAdapte在填充數據集之前會自動打開資料庫連接,填充完後會自動關閉。
2、裡面的參數可以是連接對象,可以是連接字元串 又怎麼解釋?
.NET中,很多對象的方法都有好幾個版本(即:所謂的「重載」),方法名稱相同,但參數不同(可能是參數個數不同、也可能是參數類型不同)。這是面向對象程序設計中的基本知識。
⑷ SQL 資料庫
是不是自己寫的類的實例啊。你可以在你所有工程文件中查一下 ExecSQL 這個函數。把相應的類實例化一個名叫 sqldata就行了。
你也可以你的類中加個 public int ExecSQ(string SQL)
{
int rs=-1;
//這個改成你自己的數據連接串
string ConnectionString="Server=.;database=DataBaseName;user id=sa;password=pwd;";
SqlConnection conn=new SqlConnection(ConnectionString);
SqlCommand cd=new SqlCommand(SQL,conn);
try
{
conn.Open();
rs=cd.ExecuteNonQuery();
}
catch(Exception ex)
{
}
finally
{
cd.Dispose();
conn.Close();
}
return rs;
}
再執行 ExecSQL("Update video Set playcount = playcount + 1 where vid = ' " + vid + " ' ");
⑸ SQL中datapart怎麼用
語法:DATEPART( datepart ,date )
以下為datepart參數可取值:
年:yy, yyyy;
月:m,mm
季:q,qq
第幾周:dw
周幾:wk,w
一年中第幾天:dy
日期中的天:day,dd
時、分、秒:hh,mi,ss
例如:
select datepart(yyyy,getdate()) --獲取當前年份,getdate()表示當前系統時間
select datepart(mm,getdate()) --獲取當前月份
select datepart(d,getdate()) --獲取當前天
等等
⑹ SqlDataReader中Read()用法
while (sdr.Read())
這里,是逐條記錄讀取的。每讀取一條, sdr 返回的實際是一個object類型的數組。這個是不用你定義的
⑺ 調用SqlDataReader時的錯誤
public static SqlDataReader Position(string sql)
{
using (SqlConnection con = new SqlConnection(ConnectionString))
{
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
SqlDataReader dr = null;
try
{
dr = cmd.ExecuteReader();
return dr;
}
catch (Exception e)
{
con.Close();
}
}
}
⑻ 如何使用 SQL Database
什麼是 SQL Database
SQL Database 為 Windows Azure 提供關系資料庫管理系統並且基於 SQL Server 技術。使用 SQL Database 實例,您可以輕松地配置並部署關系資料庫解決方案到雲中,並利用分布式的數據中心,提供了企業級的可用性、可縮放性和安全性, 具有內置數據保護和自愈的好處。
單擊頁面底部的「+新建」。
單擊「數據服務」。
單擊「SQL Database」。
單擊「自定義創建」。
在「名稱」中,輸入資料庫名稱。
選擇版本、最大大小和排序規則。考慮到本指南的用途,您可以使用默認值。
SQL Database 提供兩個資料庫版本。Web 版資料庫的大小最大可達 5 GB。企業版資料庫的大小最大可達 50 GB。
最大大小是在首次創建資料庫時指定的,稍後可以使用「更改資料庫」對其進行更改。最大大小可限制資料庫的大小。
在 Windows Azure 上創建的每個 SQL Database 實際上都具有三個副本。這樣做是為了確保實現高可用性。故障轉移是透明的並且是該服務的一部分。
在「伺服器」中,選擇「新建 SQL Database 伺服器」。
單擊箭頭,轉到下一頁。
在「伺服器設置」中,輸入 SQL Server 身份驗證登錄名。
SQL Database 使用 SQL 身份驗證進行加密連接。將使用您提供的名稱創建一個分配給 sysadmin 固定伺服器角色的新 SQL Server 身份驗證登錄名。
登錄名不能是電子郵件地址、Windows 用戶帳戶或 Windows Live ID。SQL Database 不支持聲明,也不支持 Windows 身份驗證。
提供使用大小寫值以及數字或符號組成的超過 8 個字元的強密碼。
選擇區域。區域將確定伺服器的地理位置。區域不能隨意切換,因此要選擇一個對此伺服器有效的區域。選擇一個最靠近您的位置。將 Windows Azure 應用程序和資料庫放置在同一個區域可以減少出口帶寬成本和數據延遲。
確保「允許 Windows Azure 服務訪問伺服器」選項處於選中狀態,以便您能夠使用 SQL Database 的管理門戶、存儲服務以及 Windows Azure 上的其他服務連接到此資料庫。
完成後,單擊頁面底部的復選標記。
轉載,僅供參考。
⑼ sqldatareader.read()方法的功能和返回值是什麼樣的
DataReader的意思就是數據閱讀器,它是以類似於指針的形式讀取資料庫裡面的記錄,具有效率高的特點。使用Read()方法可以將滿足查詢的記錄依次讀取出來,類似於指針的Next()方法。使用while循環可以讀取到全部記錄,讀取到最後一條記錄時退出循環。返回的值為Object類型,可以進行轉換以得到需要的數據。
示例:
while(reader.Read())
{
string name = reader["name"].ToString(); // name為查詢語句中的name列
}
注意使用datareader必須及時關閉,否則會與資料庫建立長連接,消耗資料庫的連接數。關閉連接使用Close()方法或使用Using方法讓系統幫你自動釋放。
具體可參考MSDN SqlDataReader.Read()方法。
⑽ sql server的data目錄在哪兒
你安裝資料庫的目錄【默認是在c盤的】:\Program Files\Microsoft SQL Server\MSSQL\Data