Asp.Net数据操作篇.小结

1.连接SQLserver数据库需要使用命名空间 using System.Data.SqlClient;
  而连接Access数据库需要使用命名空间  using System.Data.OleDb;

2.建立连接
//sqlserver
string strcon;
strcon = "server='(local)';database='mytable';uid='sa';pwd='sa';";
SqlConnection con = new SqlConnection(strcon);
//或者
OleDbConnection con = new OleDbConnection();
con.ConnectionString = "Provider=SQLOLEDB;Data Source=(local); Initia Catalog=mytable;uid=sa;pwd=sa";

//Access
string str = "provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("access.mdb") + "";
OleDbConnection con = new OleDbConnection(str);

try
{
  con.Open();
  Label1.Text="连接成功";

 con.Close();
}
catch
{
   Label1.Text="连接失败";
}

3.填充DataSet数据集
  SqlDataAdapter da = new SqlDataApapter("select * from news",con);
  DataSet        ds = new DataSet();
  da.Fill(ds,"tablename");
  for (int i = 0;i<ds.Tables["tablename"].Rows.Count; i++)
  {
     Response.Write(ds.Tables["tablename"].Rows[i]["title"].ToString() + "<br/>");
  }

 

4.不需返回结果的Sql执行
SqlCommand cmd = SqlCommand("insert into news values('title')",con);
  cmd.ExecuteNonQuery(); //会返回一个整数,表示受已执行的SQL语句或存储过程影响的行数

5.调用存储过程
SqlCommand cmd = new SqlCommand("getdetail",con); //使用存储过程
cmd.CommandType = CommandType.StoredProcedure;     //设置Command对象的类型
SqlParameter spr;
spr = cmd.Parameters.Add("@id",SqlDbType.Int);
spr = cmd.Parameters.Add("@title",SqlDbType.NChar,50);
spr.Direction = ParameterDirection.Output;
spr = cmd.Parameters.Add("@count",SqlDbType.Int);
spr.Direction=Parameter.Direction.ReturnValue;
cmd.Parameters["@id"].Value = 1;
cmd.Parameters["@title"].Value = null;
cmd.ExecuteNonQuery();
Label1.Text = cmd.Parameters["@count"].Value.ToString();

6.返回单个结果值
SqlCommand cmd = new SqlCommand("select count(*) from news",con);
Label1.Text = cmd.ExecuteScalar().ToString();

 

7.DataTable数据表对象
DataTable table = new DataTable("mytable");   //创建一个DataTable 对象
Table.CaseSensitive = false;                  //设置不区分大小写
Table.MinimumCapacity=100;                     //设置DataTable 初始大小
Table.TableName = "newtable";                  //设置DataTable的名称

DataColumn Colum = new DataColumn();
Colum  = Table.Columns.Add("id",typeof(int));   //增加一个列
Colum  = Table.Columns.Add("title",typeof(string)); //增加一个列

DataRow Row = Table.NewRow();
Row[0] = 1;            //Row["id"]=1;
Row[1] = "datarow";    //Row["title"]="datarow";
Table.Rows.Add(Row);

8.DataView数据对象视图
DataView dv = new DataView();
DataSet ds = DataSet();
ds.Tables.Add(Table);
dv = ds.Tables["newtable"].DefaultView;
dv.RowFilter = "id" = "1";
dv.Sort = "id";

要显示DataSet中某项的值,可以使用语法ds.Tables["表名称"].Rows[0]["列名称"].ToString()来显示,
这种语法通常需要知道行的数目以免在访问数据时越界。

9.DataReader读取数据库
每次的访问或操作只有一个记录存存在服务器的内存中。
con.Open();
SqlCommand cmd = new SqlCommand("select * from mynews",con);
try
{
  DataReader dr = cmd.ExecuteReader();
  while(dr.Read())
  {
   Response.Write(dr["title"].ToString() + "<br/>");
  }
}
catch(Exception ee)
{
 Response.Write(ee.ToString());
}
finally
{
  dr.Close();
  con.Close();
}

 


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值