如何将SqlParameter其写成公共类,在其他具体页面方便调用?
addnews.aspx对应的后台(用SQL参数化形式添加数据):SqlParameter[] prams =
{
data.MakeInParam("@id", SqlDbType.VarChar, 20, ID),
....
}
如何将SqlParameter其写成公共类?(我是不想在具体程序中带有SqlParameter,SQLConnection这种具体数据库特征)
比如,如何将上面这个写成:
public GetParameter()
{
....(如何写?)
} --------------------编程问答-------------------- 不太懂你的意思。 --------------------编程问答-------------------- http://www.svnhost.cn/Article/Detail-26.shtml --------------------编程问答-------------------- 我写了一个调用存储过程的公共方法(输入输出参数不同,返回的结果集都是不定的),不知道和你想要的是不是一样。 --------------------编程问答-------------------- 我的意思是:我现在用的是 SqlParameter[] prams ..
假如我要把数据库换成Access的,得用 OleDbParameter[] prams ...
能不能把这个SqlParameter独立出来房到公共类中,更换数据库后,只需要修改公共类就可以,不改程序文件? --------------------编程问答-------------------- 通过写数据库操作类实现,实现参数传递。把参数通过list<string>赋值给SqlParameter --------------------编程问答--------------------
谢谢您,麻烦您能说详细一点吗,“list <string>赋值给SqlParameter”如何写?
补充,MakeInParam的方法是这样的,如何把SqlParameter也独立出来。
#region 传入参数并且转换为SqlParameter类型--------------------编程问答-------------------- 是想用存储过程吗? --------------------编程问答-------------------- 曾经看到类似的贴子,
/// <summary>
/// 转换参数
/// </summary>
/// <param name="ParamName">存储过程名称或命令文本</param>
/// <param name="DbType">参数类型</param></param>
/// <param name="Size">参数大小</param>
/// <param name="Value">参数值</param>
/// <returns>新的 parameter 对象</returns>
public SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
{
return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
}
/// <summary>
/// 初始化参数值
/// </summary>
/// <param name="ParamName">存储过程名称或命令文本</param>
/// <param name="DbType">参数类型</param>
/// <param name="Size">参数大小</param>
/// <param name="Direction">参数方向</param>
/// <param name="Value">参数值</param>
/// <returns>新的 parameter 对象</returns>
public SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
{
SqlParameter param;
if (Size > 0)
{
param = new SqlParameter(ParamName, DbType, Size);
}
else
{
param = new SqlParameter(ParamName, DbType);
}
param.Direction = Direction;
if (!(Direction == ParameterDirection.Output && Value == null))
{
param.Value = Value;
}
return param;
}
#endregion
连接SQL\ACCESS\ORACL的类放到一块,加个判断语句,根据不同的数据库选择不同的连接。 --------------------编程问答--------------------
貌似你的这个是答非所问,版主的想法是把SqlParameter[]参数写成一个方法,而你说的还没说完整,我给你个方案,多个数据库实现无缝切换用抽象工厂设计模式。 --------------------编程问答--------------------
是引用这个。
补充:.NET技术 , ASP.NET