如何从C#调用varchar(50) [英] how do I call varchar(50) from C#

查看:143
本文介绍了如何从C#调用varchar(50)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的朋友们,



以下代码对我有用

Dear Friends,

below code is working for me

command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("@Name", TxtSearch.Text.ToString());
SqlParameter op1 = new SqlParameter();
op1.ParameterName = "@ItemKey";
op1.SqlDbType = System.Data.SqlDbType.Int;
op1.Direction = System.Data.ParameterDirection.Output;
command.Parameters.Add(op1);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
string val = op1.Value.ToString();



但是如果我想要一个varchar (50)要返还的值

我正在使用 op1.SqlDbType = System.Data.SqlDbType.varchar;

给出错误



所以请指导





谢谢和问候,

Praveen Machat


but if I want a varchar (50) value to be returned
I am using op1.SqlDbType = System.Data.SqlDbType.varchar;
which is giving an error

so please guide


Thanks and Regards,
Praveen Machat

推荐答案

这是一个非常冗长的创建参数的方法但是如果你这样做你还需要设置大小

That's quite a long-winded way of creating the parameter but if you do it that way you also need to set the size
op1.SqlDbType = System.Data.SqlDbType.varchar;
op1.Size=50;



或者你可以在一行上完成所有工作..


Alternatively you could do it all on one line..

SqlParameter op1 = new SqlParameter("@name", System.Data.SqlDbType.VarChar, 50);


你可以不要使用ExecuteNonQuery来获取结果。

使用ExecuteReader或ExecuteScalar。
You can't use ExecuteNonQuery to get a result back.
Use ExecuteReader or ExecuteScalar.


这篇关于如何从C#调用varchar(50)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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