用业务组件,编译后,用imports导入,可以在任何页面使用。
解决方案 »
- 有关webservice的讨论问题
- 急,请帮帮我~ asp.net2.0 可以使用richtextbox控件吗?
- ASP.NET通用模块及典型系统开发___源码
- OWC11 布署在WEB服务器上问题
- 急!!!!!!本地没有问题了,可是传到服务器上出问题了!!!!!!!
- Windows2003的IIS6中ASP.net访问被拒绝是什么原因?在Windows2000,IIS5中正常。
- CheckBoxList组 的排序
- 20分:repeater如何实现表格显示时,奇数的表格为黑色背景,偶数的表格为白色背景效果?
- 在datagrid模板中绑定的label控件怎么解决显示文本宽度的固定
- 在PetShop中,这语句是什么意思?
- 从数据库中读数据是,空值的判断?
- 新手codebehind问题请教
private void GetDate(string TableName,string FieldName,string FieldParam)
{
string cmd = "select * from "+TableName+" where "+FieldName+"=.........
}然后使用重载方法,添加更多的...aero_boy(老牛) 说的也很好
请问怎么写跨多个页面的函数呢,应该在那个页面里编写,应如何返回?to: zhanqiangz(闲云野鹤)
请问业务组件在哪里?是第三方控件还是.net自带的?希望能看到代码,谢谢
我也很想这样做啊,但是手头的资料不够。
能给一段代码么,关于封装和调用的
{
protected SqlConnection conn;
protected int MCmdType;
protected string connstr = "server=,uid=,pwd=,database=";
protected SqlCommandBuilder commandbuild;
public SqlDataAdapter Adapter = new SqlDataAdapter();
public DataSet Mdataset;
public DbObject()
{
conn = new SqlConnection( connstr);
MCmdType = 0;
//
// TODO: 在此处添加构造函数逻辑
//
}
public int CmdType
{
set
{
if(MCmdType != value)
{
MCmdType = value;
}
}
get
{
return MCmdType;
}
}
private SqlCommand BuildCmd( string CmdStr , SqlParameter [] parameters )
{
SqlCommand command = BuildQuery( CmdStr , parameters );
command.Parameters.Add( new SqlParameter( "ReturnValue" ,
SqlDbType.Int , 4 ,
ParameterDirection.ReturnValue , false ,
0 ,
0 ,
string.Empty , DataRowVersion.Default , null ));
return command;
} private SqlCommand BuildQuery( string CmdStr , SqlParameter [] parameters )
{
SqlCommand command = new SqlCommand(CmdStr , conn);
if(MCmdType == 1)
{
command.CommandType = CommandType.StoredProcedure;
}
else
{
command.CommandType=CommandType.Text;
}
if(parameters != null)
{
foreach( SqlParameter parameter in parameters)
{
command.Parameters.Add( parameter );
}
}
return command;
}
protected int Update(string CmdStr , SqlParameter [] parameters)
{
SqlCommand command = BuildQuery(CmdStr , parameters);
int i = command.ExecuteNonQuery();
return i;
}
protected int RunProcedure( string CmdStr , SqlParameter [] parameters , out int rowsAffected )
{
int result;
SqlCommand command = BuildCmd( CmdStr , parameters );
rowsAffected = command.ExecuteNonQuery();
result = (int)command.Parameters["ReturnValue"].Value;
return result;
}
protected SqlDataReader RunProcedure( string CmdStr , SqlParameter [] parameters )
{
SqlDataReader returnReader;
SqlCommand command = BuildQuery(CmdStr , parameters);
returnReader = command.ExecuteReader();
return returnReader;
}
protected DataSet RunProcedure(string CmdStr , SqlParameter[] parameters , string tableName )
{
Mdataset = new DataSet();
Adapter.SelectCommand = BuildQuery( CmdStr , parameters );
Adapter.Fill( Mdataset , tableName );
return Mdataset;
}
protected void RunProcedure( string CmdStr , SqlParameter[] parameters , DataSet dataset , string tableName )
{
Adapter.SelectCommand = BuildQuery(CmdStr , parameters );
Adapter.Fill( dataset , tableName );
} }
using System;
using System.Data;
using System.Data.SqlClient;namespace Ydyd.Core
{ /// <summary>
/// 执行存储过程,能返回 SqlDataReader 或 DataSet 类型的数据
/// </summary>
public abstract class DbObject
{
//连接字符串
private string connectionString; //数据库连接对象
protected SqlConnection connection; public DbObject(string connectionString)
{
this.connectionString = connectionString;
connection = new SqlConnection(this.connectionString);
} /// <summary>
/// 根据传入的存储过程名和 IDataParameter 型数组,构造 SqlCommand 对象
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters">IDataParameter 型数组</param>
/// <returns> SqlCommand 对象</returns>
private SqlCommand BuildQueryCommand(string storedProcName, IDataParameter[] parameters)
{
SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure; foreach (SqlParameter parameter in parameters)
{
command.Parameters.Add(parameter);
} return command;
} /// <summary>
/// 执行存储过程,返回影响的行数
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters"> IDataParameter 型数组</param>
/// <returns>影响的行数</returns>
protected int RunProcedureReturnAffectedRows(string storedProcName, IDataParameter[] parameters)
{
int rowsAffected = 0;
SqlCommand command = BuildQueryCommand(storedProcName, parameters); try
{
connection.Open();
rowsAffected = command.ExecuteNonQuery();
}
catch(SqlException e)
{
//将错误写入日志文件
ExceptionLog.WriteLog(e.Message.ToString());
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
} return rowsAffected; } /// <summary>
/// 执行存储过程,不需要参数
/// 注意:一定要调用 connection.Close();来关闭连接
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <returns>SqlDataReader 型对象</returns>
protected SqlDataReader RunProcedure(string storedProcName)
{
SqlDataReader dataReader = null; SqlCommand command = new SqlCommand(storedProcName, connection);
command.CommandType = CommandType.StoredProcedure; try
{
connection.Open();
dataReader = command.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException e)
{
connection.Close(); //将错误写入日志文件
ExceptionLog.WriteLog(e.Message.ToString());
}
return dataReader; } /// <summary>
/// 执行存储过程,将数据通过 SqlDataReader 型对象返回
/// 注意:一定要调用 connection.Close();来关闭连接
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters"> IDataParameter 型数组</param>
/// <returns>SqlDataReader 型对象</returns>
protected SqlDataReader RunProcedure(string storedProcName, IDataParameter[] parameters)
{
SqlDataReader dataReader = null;
SqlCommand command = BuildQueryCommand(storedProcName, parameters); try
{
connection.Open();
dataReader = command.ExecuteReader(CommandBehavior.CloseConnection);
}
catch(SqlException e)
{
connection.Close(); //将错误写入日志文件
ExceptionLog.WriteLog(e.Message.ToString());
} return dataReader; } /// <summary>
/// 执行存储过程,将数据通过 DataSet 型对象返回
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters"> IDataParameter 型数组</param>
/// <param name="tableName">指定的表名</param>
/// <returns>DataSet 型对象</returns>
protected DataSet RunProcedure(string storedProcName, IDataParameter[] parameters, string tableName)
{
DataSet dataSet = new DataSet(); try
{
connection.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = BuildQueryCommand(storedProcName, parameters);
dataAdapter.Fill(dataSet, tableName);
}
catch(SqlException e)
{
//将错误写入日志文件
ExceptionLog.WriteLog(e.Message.ToString());
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
} return dataSet; } /// <summary>
/// 执行存储过程,将数据添加到指定的 DataSet
/// </summary>
/// <param name="storedProcName">存储过程名</param>
/// <param name="parameters"> IDataParameter 型数组</param>
/// <param name="dataSet">指定的 DataSet</param>
/// <param name="tableName">指定的表名</param>
protected void RunProcedure(string storedProcName, IDataParameter[] parameters, DataSet dataSet, string tableName)
{
try
{
connection.Open();
SqlDataAdapter dataAdapter = new SqlDataAdapter();
dataAdapter.SelectCommand = BuildQueryCommand(storedProcName, parameters);
dataAdapter.Fill(dataSet, tableName);
}
catch(SqlException e)
{
//将错误写入日志文件
ExceptionLog.WriteLog(e.Message.ToString());
}
finally
{
if (connection.State == ConnectionState.Open)
{
connection.Close();
}
} } }
}