在asp.net中操作sql server数据库的一些小技巧
2006-09-28 00:00
871 查看
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 LastName=@charname";
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:由于网络速度太慢,不能将相关的显示图表传到服务器,真一大遗憾。还有不知道编写代码的样式和格式,使得给出的代码显得很零乱。
向数据库操作语句传递参数可以通过存储过程实现,这里给出另外两种简便易捷的方法:
可以在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 LastName=@charname";
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:由于网络速度太慢,不能将相关的显示图表传到服务器,真一大遗憾。还有不知道编写代码的样式和格式,使得给出的代码显得很零乱。
相关文章推荐
- 在asp.net中操作sql server数据库的一些小技巧
- 在asp.net中操作sql server数据库的一些小技巧
- 在asp.net中操作sql-server数据库的一些小技巧
- 在asp.net中操作sql-server数据库的一些小技巧
- 在asp.net中操作sqlserver数据库的一些小技巧
- 一些Asp.net的小技巧
- Asp.Net里关于Session过期跳转页面的一些小技巧
- 【转】 关于ASP.NET 2.0一些简单而有用的小技巧
- ASP.NET开发一些小技巧
- asp.net中常用的一些小技巧
- Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧
- ASP.NET MVC中Code First编程一些小技巧
- Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧
- asp.net TreeView 一些操作(js)
- Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧
- asp.net开发中常用的sql server数据库操作封装类
- Asp.net &C#开发中的一些注意事项及小技巧【转】
- asp.net中对UEditor编辑器的一些操作
- (转)Asp.net 2.0 关于Header/title/Meta tages/Style操作的一点小技巧
- Asp.net关于Header/title/Meta tages/Style操作的小技巧