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