首页 > 编程 > .NET > 正文

在ASP.NET中操作SQL Server的小技巧

2024-07-10 13:11:15
字体:
来源:转载
供稿:网友
国内最大的酷站演示中心!
  1.给数据库语句参数传递
  
  向数据库操作语句传递参数可以通过存储过程实现,这里给出另外两种简便易捷的方法:
  
  可以在c#中通过字符串操作将参数直接传入sql语句变量中,例如:
  
  string s="davolio";
  
  string sql= "select * from employees where lastname="+"'"+s+"'"
  
  相当于写入sql语句:
  
  select * from employees where lastname='davolio'也可以通过thiscommand.parameters.add()方法实现,如下所示:
  
  string s="davolio";
  
  sqlconnection thisconnection=new sqlconnection
  
  ("data source=(local);initial catalog=northwind;uid=sa;pwd=");
  
  thisconnection.open ();
  
  sqlcommand thiscommand=thisconnection.createcommand ();
  
  thiscommand.commandtext =
  
  " select * from employees where [email protected]";
  
  thiscommand.parameters.add("@charname",s);
  
  可以看到,字符串s将参数“ddbolio”传递给数据库操作语句中的参数charname.
  
  2.将数据库中不同表内的数据读入到数据集dataset中
  
  sqldataadapter的fill方法可以填充已知数据集,并且为每个填充项创建一个临时表,可以通过对该表的访问来读取数据集中的相关数据。其相关操作如下所示:
  
  sqlconnection thisconnection=new sqlconnection
  
  ("data source=(local);initial catalog=northwind;uid=sa;pwd=");
  
  try
  
  {
  
  thisconnection.open ();
  
  }
  
  catch(exception ex)
  
  {
  
  thisconnection.close ();
  
  }
  
  string sql1="select * from employees";
  
  string sql2="select * from customers";
  
  sqldataadapter sda=new sqldataadapter(sql1,thisconnection);
  
  dataset ds= new dataset();
  
  sda.fill(ds,"myemployees");
  
  sda.dispose();
  
  sqldataadapter sda1=new sqldataadapter(sql2,thisconnection);
  
  sda1.fill(ds,"mycustomers");
  
  sda1.dispose();
  
  string t1=ds.tables["myemployees"].rows[0]["hiredate"].tostring();
  
  string t2=ds.tables["mycustomers"].rows[0]["contacttitle"].tostring();
  
  page.registerstartupscript("aa","<;script language=javascript>alert('t1="+t1+",t2="+t2+"');<;/script>");
  
  可以看到,在数据集ds中新生成了两个临时表“myemployees”和“mycustomers”。为验证这两个表中数据确实已读入数据集ds中,通过数据读取操作将表“myemployees”中对应于属性“hiredate”的第一行赋值给字符型变量t1,将表“mycustomers”中对应于属性“contacttitle”的第一行赋值给字符型变量t2,并通过javastript函数“alert()”将这些变量显示到弹出窗口中。page.registerstartupscript方法用于发出客户端脚本块,其第一个参数为标志位,用户可以任意选取,第二个参数为javascript脚本,这里alert函数用来弹出messagebox对话框,我们将参数t1和t2传入该脚本中,使其在messagebox中显示出来。
  
  ps:由于网络速度太慢,不能将相关的显示图表传到服务器,真一大遗憾。还有不知道编写代码的样式和格式,使得给出的代码显得很零乱。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表