在数据库中测试是没有问题的,但是在程序中返回值就没东西啊!
MySQL存储过程:
create procedure sp_fenye(pageindex int,pagesize int,out countpage int) begin declare start_row int; set start_row = (pageindex-1) * pagesize + 1; if pagesize < 1 then set pagesize = 1; end if; select * from userinfo order by id asc limit start_row,pagesize; set countpage = ceiling(@rows_total/pagesize); end;
======================================================================
C#调用的代码:
using System;
using System.Data;
using MySql.Data.MySqlClient;namespace _03执行带存储过程的参数
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("每页显示几条数据?");
int pageSize = int.Parse(Console.ReadLine());
Console.WriteLine("要显示第几页?");
int currentPage = int.Parse(Console.ReadLine());
using (MySqlConnection connection = new MySqlConnection("server=127.0.0.1;database=lslz;uid=mytest;pwd=123"))
{
using (MySqlCommand cmd = new MySqlCommand(" sp_fenye", connection))
{
cmd.CommandType = CommandType.StoredProcedure; MySqlParameter outParmCount = new MySqlParameter("@countpage",MySqlDbType.Int32)
{
Direction = ParameterDirection.Output
}; MySqlParameter[] parameters = new MySqlParameter[]
{
new MySqlParameter("@pagesize",pageSize),
new MySqlParameter("@pageindex",currentPage),
outParmCount
}; cmd.Parameters.AddRange(parameters); if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
using (MySqlDataAdapter adapter = new MySqlDataAdapter())
{
DataSet ds = new DataSet();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
//接收传出参数
string res = outParmCount.Value.ToString();
//在这里接收到的res为空字符串,ds中是有数据的
}
}
Console.ReadKey();
}
}
}
}
C#.NETMySQL存储过程分页
MySQL存储过程:
create procedure sp_fenye(pageindex int,pagesize int,out countpage int) begin declare start_row int; set start_row = (pageindex-1) * pagesize + 1; if pagesize < 1 then set pagesize = 1; end if; select * from userinfo order by id asc limit start_row,pagesize; set countpage = ceiling(@rows_total/pagesize); end;
======================================================================
C#调用的代码:
using System;
using System.Data;
using MySql.Data.MySqlClient;namespace _03执行带存储过程的参数
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("每页显示几条数据?");
int pageSize = int.Parse(Console.ReadLine());
Console.WriteLine("要显示第几页?");
int currentPage = int.Parse(Console.ReadLine());
using (MySqlConnection connection = new MySqlConnection("server=127.0.0.1;database=lslz;uid=mytest;pwd=123"))
{
using (MySqlCommand cmd = new MySqlCommand(" sp_fenye", connection))
{
cmd.CommandType = CommandType.StoredProcedure; MySqlParameter outParmCount = new MySqlParameter("@countpage",MySqlDbType.Int32)
{
Direction = ParameterDirection.Output
}; MySqlParameter[] parameters = new MySqlParameter[]
{
new MySqlParameter("@pagesize",pageSize),
new MySqlParameter("@pageindex",currentPage),
outParmCount
}; cmd.Parameters.AddRange(parameters); if (connection.State == ConnectionState.Closed)
{
connection.Open();
}
using (MySqlDataAdapter adapter = new MySqlDataAdapter())
{
DataSet ds = new DataSet();
adapter.SelectCommand = cmd;
adapter.Fill(ds);
//接收传出参数
string res = outParmCount.Value.ToString();
//在这里接收到的res为空字符串,ds中是有数据的
}
}
Console.ReadKey();
}
}
}
}
C#.NETMySQL存储过程分页
解决方案 »
- c#WinForm生成安装程序,点击生成的快捷方式又重新安装,求指导……
- 如何将一组字符串用正则分离出来?谢谢。
- PDF417 二维码
- 谁遇到过tostring()这种情况
- 跪求:上传文件问题,太大了上传不了。。。在线等待
- WebClient下载数据的问题
- TextReader是否能够应用于Tcp,udp编程中进行字符串形式的数据发送?
- c#中如何在设计页面的html代码中调用代码文件中的变量?有没有这种办法的?给分100
- 邮件客户端
- 求助:一个怪问题,在打开数据连接时程序 停止工作
- 单元测试
- 从EXCEL表中读取一列数据到DataTable中(全部按字符型读取),如何判断此列数据的数据类型?
cmd.Parameters.AddRange(outParmCount);
MySqlParameter[] parameters = new MySqlParameter[]
{
new MySqlParameter("@pagesize",pageSize),
new MySqlParameter("@pageindex",currentPage),
outParmCount
};我在这里已经加入了啊