发布网友 发布时间:2022-04-20 01:36
共6个回答
懂视网 时间:2022-04-08 10:52
"SqlServer中存储过程处理out返回值" //public void getdata() //{ // string str = " server=192.168.xxxx ;user id=xxx;password=xxxxx@#;database=xxxxx_db;min pool size=4;max pool size=4;packet size=3072"; // SqlConnection conn = new SqlConnection(str); // conn.Open(); // SqlCommand cmd = new SqlCommand(); // cmd.CommandType = CommandType.StoredProcedure; // cmd.CommandText = "sp_xxxxxx"; // cmd.Parameters.Add("@xxxx", SqlDbType.Int); // //注意输出参数要设置大小,否则size默认为0, // cmd.Parameters.Add("@FLAG", SqlDbType.Int); // //设置参数的类型为输出参数,默认情况下是输入, // cmd.Parameters["@FLAG"].Direction = ParameterDirection.Output; // //为参数赋值 // cmd.Parameters["@xxxx"].Value = 81; // cmd.Connection = conn; // //执行 // cmd.ExecuteNonQuery(); // //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换 // string name = cmd.Parameters["@FLAG"].Value.ToString(); // Response.Write(name); //} #endregion2.
#region"MySQL中存储过程处理out返回值" /* public void getdata() { string str = "Server=192.168.xxx;Database=xxxxx_db; port=xxxx;user id=xxxxx;password= providerName=MySql.Data.MySqlClient"; MySqlConnection conn = new MySqlConnection (str); conn.Open(); MySqlCommand cmd = new MySqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_xxxxx"; cmd.Parameters.Add("_xxxx", MySqlDbType.Int32, 11); //注意输出参数要设置大小,否则size默认为0, cmd.Parameters.Add("_FLAG", MySqlDbType.Int32, 11); //设置参数的类型为输出参数,默认情况下是输入, cmd.Parameters["_FLAG"].Direction = ParameterDirection.Output; //为参数赋值 cmd.Parameters["_xxxxx"].Value = 81; cmd.Connection = conn; //执行 cmd.ExecuteNonQuery(); //得到输出参数的值,把赋值给name,注意,这里得到的是object类型的,要进行相应的类型轮换 string name = cmd.Parameters["_FLAG"].Value.ToString(); Response.Write(name); }*/ #endregion
SqlServer和MySQL中存储过程out返回值处理C#代码
标签:
热心网友 时间:2022-04-08 08:00
不知道你是什么版本的SQL Server?SQL Server 2005支持除了table类型之外的所有数据类型作为参数;SQL Server 2008开始就支持所有数据类型了,包括table类型。 而你的需求应该需要table类型输出,但是如果是SQL Server 2005的话就不支持了。热心网友 时间:2022-04-08 09:18
这个如果你的目的只是返回数据集的话, 不需要返回OUT参数类型, 直接在存储过程里把结果select出来就可以了, 大部分的程序语言都可以接收存储过程的结果集的, 像vb的recordset, .net的datatable, pb的datawindow等等. 还有很多控件都可以直接接受结果集.热心网友 时间:2022-04-08 10:53
可能你把out错看成数据存储过程哪里的输出函数了,其实你只需要select 对象from table表就ok了,还可以自己写存储过程,然后调用该存储过程就更好了,详细信息就在网上多看看关于sql的基础应用热心网友 时间:2022-04-08 13:01
SQL2008可用表类型热心网友 时间:2022-04-08 15:26
干嘛要把那个做成输出参数呀直接查处结果,在程序里面用结果集存放不行吗?干嘛弄那么麻烦