|M| 澄清 RE:以后别单指某一个人进来,你这样令 晓风残月 呀 高歌呀 过客他们这样的高手很难做的。 那为什么那时会这样问
yanhuan1028() ( ) 信誉:100 2007-08-16 09:41:36 得分: 0
以后别单指某一个人进来,你这样令 晓风残月 呀 高歌呀 过客他们这样的高手很难做的。
---------------------------------------------
原贴:http://community.csdn.net/Expert/topic/5712/5712237.xml?temp=.4747888
那是因为我的DLL源文件发给了幕白兄 他看起来容易
现在我把源码发上来大家看看怎么来调用他的事务最简单
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using System.Reflection;
using System.Xml;
using System.Text;
namespace Jerry.Util
{
public sealed class SqlHelper
{
// Fields
public static String ErrorMsg;
// Methods
private SqlHelper()
{
}
private static void AssignParameterValues(SqlParameter[] commandParameters, Object[] parameterValues)
{
if ((commandParameters != null) && (parameterValues != null))
{
if (commandParameters.Length != parameterValues.Length)
{
throw new ArgumentException( "Parameter count does not match Parameter Value count. ");
}
Int32 index = 0;
Int32 length = commandParameters.Length;
while (index < length)
{
if (parameterValues[index] is IDbDataParameter)
{
IDbDataParameter parameter = (IDbDataParameter)parameterValues[index];
if (parameter.Value == null)
{
commandParameters[index].Value = DBNull.Value;
}
else
{
commandParameters[index].Value = parameter.Value;
}
}
else if (parameterValues[index] == null)
{
commandParameters[index].Value = DBNull.Value;
}
else
{
commandParameters[index].Value = parameterValues[index];
}
index++;
}
}
}
private static void AssignParameterValues(SqlParameter[] commandParameters, DataRow dataRow)
{
if ((commandParameters != null) && (dataRow != null))
{
Int32 num = 0;
foreach (SqlParameter parameter in commandParameters)
{
if ((parameter.ParameterName == null) || (parameter.ParameterName.Length <= 1))
{
throw new Exception(String.Format( "Please provide a valid parameter name on the parameter #{0}, the ParameterName property has the following value: '{1} '. ", num, parameter.ParameterName));
}
if (dataRow.Table.Columns.IndexOf(parameter.ParameterName.Substring(1)) != -1)
{
parameter.Value = dataRow[parameter.ParameterName.Substring(1)];
}
num++;
}
}
}
private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)
{
if (command == null)
{
throw new ArgumentNullException( "command ");
}
if (commandParameters != null)
{
foreach (SqlParameter parameter in commandParameters)
{
if (parameter != null)
{
if (((parameter.Direction == ParameterDirection.InputOutput) || (parameter.Direction == ParameterDirection.Input)) && (parameter.Value == null))
{
parameter.Value = DBNull.Value;
}
command.Parameters.Add(parameter);
}
}
}
}
public static SqlCommand CreateCommand(SqlConnection connection, String spName, params String[] sourceColumns)
{
if (connection == null)
{
throw new ArgumentNullException( "connection ");
}
if ((spName == null) || (spName.Length == 0))
{
throw new ArgumentNullException( "spName ");
}
SqlCommand command = new SqlCommand(spName, connection);
command.CommandType = CommandType.StoredProcedure;
if ((sourceColumns != null) && (sourceColumns.Length > 0))
{
SqlParameter[] commandParameters = SqlHelperParameterCache.GetSpParameterSet(connection, spName);
for (int i = 0; i < sourceColumns.Length; i++)
{
commandParameters[i].SourceColumn = sourceColumns[i];
}
AttachParameters(command, commandParameters);
}
return command;
}
public static ArrayList DataReaderToList(IDataReader reader, ReadRecordDelegate GetRecord)
{
ArrayList list = new ArrayList();
while (reader.Read())
{
object obj2 = GetRecord(reader);
list.Add(obj2);
}
reader.Close();
return list;
}
[解决办法]
同意
要不然我就不敢进来接分了
[解决办法]
嘿嘿,我也来接点分混日子
[解决办法]
头晕
[解决办法]
学习
[解决办法]
看来楼主在标题上还是下了大工夫的
啊啊
[解决办法]
同意
要不然我就不敢进来接分了
[解决办法]
这个帖的标题确实做的可以.!顶上!
[解决办法]
下次提问 我也弄个标题
盖茨进来帮我解决个问题!!!!!
呵呵 开玩笑的