运行的时候总是提示必须声明标量变量 "@MemberName"#region 判断帐号唯一性
public bool IsReged(string MemberName)
{
StringBuilder strSQL = new StringBuilder();
strSQL.Append("select count(1) From Member");
strSQL.Append(" Where MemberName=@MemberName");
SqlParameter[] parameters =
{
new SqlParameter("@MemberName",SqlDbType.VarChar,50)
};
parameters[0].Value = MemberName;
return SQLHelper.Exists(strSQL.ToString(), parameters);
}
#endregionpublic static bool Exists(string SQLString)
{
object obj = GetSingle(SQLString);
int CmdResult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
CmdResult = 0;
}
else
{
CmdResult = int.Parse(obj.ToString());
}
if (CmdResult == 0)
{
return false;
}
else
{
return true;
}
}/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(string SQLString, params SqlParameter[] cmdParms)
{
SqlConnection Conn = new SqlConnection(ConnString);
SqlCommand Cmd = new SqlCommand();
try
{
PrepareCommand(Cmd, Conn, null, SQLString, cmdParms);
object obj = Cmd.ExecuteScalar();
Cmd.Parameters.Clear();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (SqlException Ex)
{
throw new Exception(Ex.Message);
}
}
public bool IsReged(string MemberName)
{
StringBuilder strSQL = new StringBuilder();
strSQL.Append("select count(1) From Member");
strSQL.Append(" Where MemberName=@MemberName");
SqlParameter[] parameters =
{
new SqlParameter("@MemberName",SqlDbType.VarChar,50)
};
parameters[0].Value = MemberName;
return SQLHelper.Exists(strSQL.ToString(), parameters);
}
#endregionpublic static bool Exists(string SQLString)
{
object obj = GetSingle(SQLString);
int CmdResult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
CmdResult = 0;
}
else
{
CmdResult = int.Parse(obj.ToString());
}
if (CmdResult == 0)
{
return false;
}
else
{
return true;
}
}/// <summary>
/// 执行一条计算查询结果语句,返回查询结果(object)。
/// </summary>
/// <param name="SQLString">计算查询结果语句</param>
/// <returns>查询结果(object)</returns>
public static object GetSingle(string SQLString, params SqlParameter[] cmdParms)
{
SqlConnection Conn = new SqlConnection(ConnString);
SqlCommand Cmd = new SqlCommand();
try
{
PrepareCommand(Cmd, Conn, null, SQLString, cmdParms);
object obj = Cmd.ExecuteScalar();
Cmd.Parameters.Clear();
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
return null;
}
else
{
return obj;
}
}
catch (SqlException Ex)
{
throw new Exception(Ex.Message);
}
}
应该是
public static bool Exists(string SQLString, params SqlParameter[] cmdParms)
{
object obj = GetSingle(strSql, cmdParms);
int CmdResult;
if ((Object.Equals(obj, null)) || (Object.Equals(obj, System.DBNull.Value)))
{
CmdResult = 0;
}
else
{
CmdResult = int.Parse(obj.ToString());
}
if (CmdResult == 0)
{
return false;
}
else
{
return true;
}
}
改
strSQL.Append(" Where MemberName='@MemberName'");试试
SqlParameter[] parameters =
{
new SqlParameter("@MemberName",SqlDbType.VarChar,50)
};改为:strSQL.Append(" Where MemberName='"+MemberName+"'");
SqlParameter[] parameters =
{
new SqlParameter("+MemberName+",SqlDbType.VarChar,50)
};
你的方法我也试了.不行..
foreach(SqlParameter p in cmdParms)
{
cmd.Parameters.Add(p);
}
if (cmdParms != null)
{
foreach (SqlParameter parm in cmdParms)
Cmd.Parameters.Add(parm);
}
para.Value=MemberName;
strSQL.Parameters.Add(para);乱说的~~,不要相信~~~