当前位置: 代码迷 >> C# >> 关于C#查询数据库的参数有关问题,求大神指点
  详细解决方案

关于C#查询数据库的参数有关问题,求大神指点

热度:68   发布时间:2016-05-05 04:02:50.0
关于C#查询数据库的参数问题,求大神指点

             DataTable businfo = new DataTable();
                    lock (Objlocker)
                  {
                    if (con.State != ConnectionState.Open)
                    {
                        con.Open();
                    }
                   
                    string strSQL = "SELECT [IPAddress] FROM [ipinfo] where [V_IpAddress][email protected]";
                    SqlCommand comm = new SqlCommand(strSQL, con);
                    SqlParameter sp=comm.Parameters.Add ("@ipaddress",SqlDbType.VarChar);
                    sp.Value =ipaddress;
                    SqlDataAdapter mySqlDA = null;
                    mySqlDA = new SqlDataAdapter(strSQL, con);
                    mySqlDA.Fill(businfo);
                    con.Close();
                }
调试时出现:必须声明标量变量 "@ipaddress"。
------解决思路----------------------
你的代码里应该有警告,sp定义了但是未被调用
------解决思路----------------------
参考:

/// <summary>
/// 是否存在该记录
/// </summary>
public bool Exists(string f_id)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("select count(1) from t_irm_bodypartsdata");
strSql.Append(" where [email protected]_id ");
SqlParameter[] parameters = {
new SqlParameter("@f_id", SqlDbType.VarChar,40) };
parameters[0].Value = f_id;

return DbHelperSQL.Exists(strSql.ToString(),parameters);
}

------解决思路----------------------
变量需要先声明 后使用。。。
------解决思路----------------------
你的参数是加到Command上了,但是 SqlDataAdapter 根本没有用到Command
  相关解决方案