ADO.NET 基础教程(二)
2005-06-16 10:25
489 查看
上一节讲到了怎样使用ADO.NET来查询数据,这节讲怎么样运行SQL的SELECT、INSERT和UPDATE命令及存储过程
1、存储过程
C#的代码如下:
/// <summary>
/// 存储过程参数结构
/// </summary>
public struct ProcParam
{
public string ParamName;
public string ParamValue;
public System.Data.SqlDbType ParamType ;
}
/// <summary>
/// 执行一个返回数据集的存储过程
/// </summary>
/// <param name="strProcName">存储过程名称</param>
/// <param name="alParamName" >参数名称</param>
/// <param name="alParamValue" >参数值</param>
/// <param name="constring">数据连接串</param>
/// <returns></returns>
public static System.Data.SqlClient.SqlDataReader ExecProcedure(string strProcName,System.Collections.ArrayList alParamName,System.Collections.ArrayList alParamValue,string constring)
{
System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
cn.Open ();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
cmd.Connection =cn;
cmd.CommandType =System.Data.CommandType.StoredProcedure ;
cmd.CommandText =strProcName;
for(int i=0;i<alParamName.Count ;i++)
{
System.Data.SqlClient.SqlParameter param=new System.Data.SqlClient.SqlParameter (alParamName[i].ToString (),alParamValue[i].ToString ());
cmd.Parameters.Add (param);
}
System.Data.SqlClient.SqlDataReader dr;
dr=cmd.ExecuteReader ();
return dr;
}
上述代码可以执行任意参数的存储过程(返回一个数据集)
2、直接SQL命令
/// <summary>
/// 执行一个返回字符串的SQL SCRIPT
/// </summary>
/// <param name="constring" >连接串</param>
/// <param name="SQL_COMMAND" >SQL命令</param>
/// <returns>返回数据集</returns>
public static string GetDataString(string SQL_COMMAND,string constring)
{
System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
cn.Open ();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
cmd.Connection =cn;
cmd.CommandType =System.Data.CommandType.Text ;
cmd.CommandText =SQL_COMMAND;
string str="";
try
{
str=cmd.ExecuteScalar().ToString ();
}
catch(System.Data.SqlClient.SqlException e)
{
System.Diagnostics.Debug.WriteLine (e.Message );
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine (ex.Message );
}
return str;
}
/// <summary>
/// 执行一个无返回的SQL
/// </summary>
/// <param name="SQL_COMMAND"></param>
/// <param name="constring"></param>
/// <returns></returns>
public static void Executesql(string SQL_COMMAND,string constring)
{
System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
cn.Open ();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
cmd.Connection =cn;
cmd.CommandType =System.Data.CommandType.Text ;
cmd.CommandText =SQL_COMMAND;
try
{
cmd.ExecuteNonQuery ();
}
catch(System.Data.SqlClient.SqlException e)
{
System.Diagnostics.Debug.WriteLine (e.Message );
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine (ex.Message );
}
}
以上代码建议放在一个类中,如果有问题请与我联系msn:ilxc8292@hotmail.com
1、存储过程
C#的代码如下:
/// <summary>
/// 存储过程参数结构
/// </summary>
public struct ProcParam
{
public string ParamName;
public string ParamValue;
public System.Data.SqlDbType ParamType ;
}
/// <summary>
/// 执行一个返回数据集的存储过程
/// </summary>
/// <param name="strProcName">存储过程名称</param>
/// <param name="alParamName" >参数名称</param>
/// <param name="alParamValue" >参数值</param>
/// <param name="constring">数据连接串</param>
/// <returns></returns>
public static System.Data.SqlClient.SqlDataReader ExecProcedure(string strProcName,System.Collections.ArrayList alParamName,System.Collections.ArrayList alParamValue,string constring)
{
System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
cn.Open ();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
cmd.Connection =cn;
cmd.CommandType =System.Data.CommandType.StoredProcedure ;
cmd.CommandText =strProcName;
for(int i=0;i<alParamName.Count ;i++)
{
System.Data.SqlClient.SqlParameter param=new System.Data.SqlClient.SqlParameter (alParamName[i].ToString (),alParamValue[i].ToString ());
cmd.Parameters.Add (param);
}
System.Data.SqlClient.SqlDataReader dr;
dr=cmd.ExecuteReader ();
return dr;
}
上述代码可以执行任意参数的存储过程(返回一个数据集)
2、直接SQL命令
/// <summary>
/// 执行一个返回字符串的SQL SCRIPT
/// </summary>
/// <param name="constring" >连接串</param>
/// <param name="SQL_COMMAND" >SQL命令</param>
/// <returns>返回数据集</returns>
public static string GetDataString(string SQL_COMMAND,string constring)
{
System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
cn.Open ();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
cmd.Connection =cn;
cmd.CommandType =System.Data.CommandType.Text ;
cmd.CommandText =SQL_COMMAND;
string str="";
try
{
str=cmd.ExecuteScalar().ToString ();
}
catch(System.Data.SqlClient.SqlException e)
{
System.Diagnostics.Debug.WriteLine (e.Message );
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine (ex.Message );
}
return str;
}
/// <summary>
/// 执行一个无返回的SQL
/// </summary>
/// <param name="SQL_COMMAND"></param>
/// <param name="constring"></param>
/// <returns></returns>
public static void Executesql(string SQL_COMMAND,string constring)
{
System.Data.SqlClient.SqlConnection cn=new System.Data.SqlClient.SqlConnection (constring);
cn.Open ();
System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient. SqlCommand ();
cmd.Connection =cn;
cmd.CommandType =System.Data.CommandType.Text ;
cmd.CommandText =SQL_COMMAND;
try
{
cmd.ExecuteNonQuery ();
}
catch(System.Data.SqlClient.SqlException e)
{
System.Diagnostics.Debug.WriteLine (e.Message );
}
catch(Exception ex)
{
System.Diagnostics.Debug.WriteLine (ex.Message );
}
}
以上代码建议放在一个类中,如果有问题请与我联系msn:ilxc8292@hotmail.com
相关文章推荐
- ADO.NET 基础教程(一)
- ADO.NET基础教程(1)
- ADO.NET编程之基础知识
- ADO.NET基础必备之SqlCommand.Execute三方法
- vc++.net视频教程基础篇
- ADO.NET入门教程(二)了解.NET数据提供程序
- vb.net 教程 11-1 打印组件 1 基础
- C#进阶ADO.NET基础一 基本概念、数据库连接操作基础
- Stimulsoft Reports.Net基础教程(五):创建分组报表①
- 黑马程序员—ADO.NET 基础知识
- ADO.NET基础01
- 【RL-TCPnet网络教程】第18章 BSD Sockets基础知识
- 【RL-TCPnet网络教程】第25章 DHCP动态主机配置协议基础知识
- ADO.NET入门教程(五) 细说数据库连接池
- vb.net 教程 5-14 图像处理之内存处理基础6
- 基础教程:ASP.NET Core 2.0 MVC筛选器
- 黑马程序员---ADO.NET基础之操作数据库的几大对象
- ADO.NET基础笔记(2)
- C++ 通过ADO.Net实现与MySql数据库连接 入门教程
- ASP.Net Web-api 不可多得的零基础教程2