我写了一个方法
public DataSet ReturnDataSet(string strSql)
{
//根据输入的Sql语句,返回DataSet数据对象
DataSet ds = new DataSet();
try
{
Open_cnn();
SqlDataAdapter sqlAdapter;
sqlAdapter.SelectCommand.CommandText = strSql;
sqlAdapter = new SqlDataAdapter(strSql, ConnStr); sqlAdapter.Fill(ds);
}
catch (Exception e)
{
_ErrInfo = e.Message.ToString();
} return ds;
Close_cnn();
}
然后写了一个存储过程填充...报了找不到表0的错误...我以为存储过程写错了...但是在查询分析器里能查出两个表来...我又以为是方法写错了...于是用了另一个存储过程代换...结果能查出来...
现在我郁闷了.明明在查询分析器里能查出表来...绑定到dataset里就变成没表了....
哪个高手知道我错在哪了...
public DataSet ReturnDataSet(string strSql)
{
//根据输入的Sql语句,返回DataSet数据对象
DataSet ds = new DataSet();
try
{
Open_cnn();
SqlDataAdapter sqlAdapter;
sqlAdapter.SelectCommand.CommandText = strSql;
sqlAdapter = new SqlDataAdapter(strSql, ConnStr); sqlAdapter.Fill(ds);
}
catch (Exception e)
{
_ErrInfo = e.Message.ToString();
} return ds;
Close_cnn();
}
然后写了一个存储过程填充...报了找不到表0的错误...我以为存储过程写错了...但是在查询分析器里能查出两个表来...我又以为是方法写错了...于是用了另一个存储过程代换...结果能查出来...
现在我郁闷了.明明在查询分析器里能查出表来...绑定到dataset里就变成没表了....
哪个高手知道我错在哪了...
SqlDataAdapter da = new SqlDataAdapter();
da.selectCommand = new SqlCommand();
da.selectCommand.Connection = conn;
da.selectCommand.CommandText = "ProcedureName";
da.selectCommand.CommandType = CommandType.StoredProcedure; strSql怎么写的
@page int,
@amount int,
@address int ,
@str nvarchar(50),
@str1 nvarchar(50),
@str2 nvarchar(50),
@str3 nvarchar(50),
@str4 nvarchar(50)
AS
begin
if((select count(*) from Goods
where Goods.goodsName like'%'+@str+'%')<=0)
begin
begin
if(@address=0)
SELECT count(*) as total
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%' if(@address!=0)
SELECT count(*) as total
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where (Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%'
and Provinces.provinceID=@address)
end
begin
if(@page=1 and @address=0)
SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where (Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%') order by Goods.goodsSearch if(@page>1 and @address=0) SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%' and Goods.goodsID>(select max(goodsID) from (select top(@amount*(@page-1)) Goods.goodsID from (Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID) where Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%') as good)
order by Goods.goodsSearch if(@page=1 and @address!=0)
SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
WHERE (Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%' and Provinces.provinceID=@address)
order by Goods.goodsSearch if(@page>1 and @address!=0) SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%' and Goods.goodsID>(select max(goodsID) from (select top(@amount*(@page-1)) Goods.goodsID from (Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID) where Goods.goodsName like'%'+@str1+'%' or Goods.goodsName like'%'+@str2+'%'
or Goods.goodsName like'%'+@str3+'%' or Goods.goodsName like'%'+@str4+'%' and Provinces.provinceID=@address) as good)
order by Goods.goodsSearch
end
end
end
if((select count(*) from Goods
where Goods.goodsName like'%'+@str+'%')>0)
begin
begin
if(@address=0)
SELECT count(*) as total
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where (Goods.goodsName like'%'+@str+'%')
if(@address!=0)
SELECT count(*) as total
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where (Goods.goodsName like'%'+@str+'%' and Provinces.provinceID=@address)
end
begin
if(@page=1 and @address=0)
SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
WHERE (Goods.goodsName like'%'+@str+'%') order by Goods.goodsSearch if(@page>1 and @address=0) SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where Goods.goodsName like'%'+@str+'%' and Goods.goodsID>(select max(goodsID) from (select top(@amount*(@page-1)) Goods.goodsID from (Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID) where Goods.goodsName like'%'+@str+'%') as good)
order by Goods.goodsSearch if(@page=1 and @address!=0)
SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
WHERE (Goods.goodsName like'%'+@str+'%' and Provinces.provinceID=@address)
order by Goods.goodsSearch if(@page>1 and @address!=0) SELECT TOP (@amount) Provinces.provinceName + ' ' + Cities.cityName AS address, CONVERT(varchar(10), Goods.goodsUpTime, 120) AS goodsUpTime, Provinces.*,
Cities.*, Users.*, Goods.*
FROM Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID
where Goods.goodsName like'%'+@str+'%' and Goods.goodsID>(select max(goodsID) from (select top(@amount*(@page-1)) Goods.goodsID from (Provinces INNER JOIN
Cities ON Provinces.provinceID = Cities.provinceID INNER JOIN
Users ON Cities.cityID = Users.cityID INNER JOIN
Goods ON Users.userID = Goods.userID) where Goods.goodsName like'%'+@str+'%' and Provinces.provinceID=@address) as good)
order by Goods.goodsSearch
end
end 这个是存储过程.只是一个模糊搜索.同时实现了分页.在查询分析器里能搜出两个表.但愿有人能看懂.