如何传递参数值 [英] how to pass parameter value

查看:74
本文介绍了如何传递参数值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在我的项目中,我对以下代码感到惊讶。我传递2个参数值来检查表中的记录。它给出了问题。



 SqlCommand cmd =  new  SqlCommand(  select * from progressive其中mem_id =' + v_mem_id +   'and dist_code =' + v_dist_code +  ',con); 
SqlParameter param = new SqlParameter();
param.ParameterName = @ v_mem_id;
cmd.Parameters.Add(param);
SqlParameter param1 = new SqlParameter();
param1.ParameterName = @ v_dist_code;
cmd.Parameters.Add(param1);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{

}
else
{
}





有人可以帮我解决。

解决方案

 SqlCommand cmd =  new  SqlCommand(  select * from progressive其中mem_id =' + v_mem_id +  '和dist_code =' + v_dist_code +  ',con); 
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{

}
其他
{
}







和我相信你在v_mem_id和v_dist_code中有一些值。正如我在评论中所说,你不需要传递任何参数,因为你的命令字符串已经包含了值。


SqlCommand cmd = new SqlCommand(select * from progressive where mem_id = @v_mem_id and dist_code = @ v_dist_code,con);

cmd.Parameters.AddWithValue(@ v_mem_id,v_mem_id);

cmd.Parameters.AddWithValue(@ v_dist_code,v_dist_code );



connection.Open()//你的SqlConnection

SqlDataReader dr = cmd.ExecuteReader();



while(dr.read())

{

//填充数据的对象使用dr.getValue(columnPosition)或dr [ColumnName]。ToString()

// dr.getString(columnPosition)或dr.getInt(columnPosition)根据您的数据类型

}



connection.Close()//关闭SqlConnection



//这就是全部,保持你的代码在try catch :)

In my project I am struck up at the following code. I am passing 2 parameter values to check a record in a table. It gives problem.

SqlCommand cmd = new SqlCommand("select * from progressive where mem_id= '" + v_mem_id + "' and dist_code='" + v_dist_code + "'", con);
SqlParameter param = new SqlParameter();
param.ParameterName = "@v_mem_id";
cmd.Parameters.Add(param);
SqlParameter param1 = new SqlParameter();
param1.ParameterName = "@v_dist_code";
cmd.Parameters.Add(param1);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{

}
else
{
}



Can someone help me out.

解决方案

SqlCommand cmd = new SqlCommand("select * from progressive where mem_id= '" + v_mem_id + "' and dist_code='" + v_dist_code + "'", con);
            SqlDataReader reader = cmd.ExecuteReader();
            if (reader.HasRows)
            {

            }
            else
            {
            }




And i believe you have some values in v_mem_id and v_dist_code. As i said in comment, you dont need to pass any param as your commandstring contains the values already.


SqlCommand cmd = new SqlCommand("select * from progressive where mem_id= @v_mem_id and dist_code=@v_dist_code", con);
cmd.Parameters.AddWithValue("@v_mem_id", v_mem_id);
cmd.Parameters.AddWithValue("@v_dist_code", v_dist_code);

connection.Open() // your SqlConnection
SqlDataReader dr = cmd.ExecuteReader();

while(dr.read())
{
// Your Object filling with data use dr.getValue(columnPosition) or dr["ColumnName"].ToString()
// dr.getString(columnPosition) or dr.getInt(columnPosition) according your data type
}

connection.Close() // close SqlConnection

// thats all, keep your code in try catch :)


这篇关于如何传递参数值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆