SqlCommand _SqlCommand = new SqlCommand("USP_Search", _SqlConnection);
_SqlCommand.CommandType = CommandType.StoredProcedure;
_SqlCommand.Parameters.Add("@SearchNumbers", txtNumbers.Text);
_SqlCommand.Parameters.Add("@SearchName", txtName.Text);
_SqlCommand.ExecuteNonQuery();
这下来.再怎么把他的结果存储到DataTable
这里不知道怎么写了存储过程是这样ALTER PROCEDURE USP_Search
@SearchNumbers varchar,
@SearchName varchar
AS
select * from Users where Numbers=@SearchNumbers,Name=@SearchName
这个函数 返回的是受影响的函数。Select语句,得到的返回值是-1。
SqlDataAdapter sda = new SqlDataAdapter(_SqlCommand );
sda.Fill(ds);
return ds.Tables[0]
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(_SqlCommand );
sda.Fill(ds);
dt=ds.Tables[0]
return dt;
SqlConnection _SqlConnection = sqlFunction.getConnection();
SqlCommand _SqlCommand = new SqlCommand("USP_Search", _SqlConnection);
_SqlCommand.CommandType = CommandType.StoredProcedure;
_SqlCommand.Parameters.AddWithValue("@SearchNumbers", txtNumbers.Text);
_SqlCommand.Parameters.AddWithValue("@SearchName", txtName.Text);
_SqlConnection.Open();
_SqlCommand.ExecuteNonQuery();
SqlDataAdapter _SqlDataAdapter = new SqlDataAdapter(_SqlCommand);
_SqlDataAdapter.Fill(_DataTable);
dgvSearchResult.DataSource = _DataTable;我改样dgvSearchResult查询出来没有结果.哪错了呢
SqlDataAdapter sda = new SqlDataAdapter();
DataTable dt = new DataTable();
conn.Open();
sda.SelectCommand = new SqlCommand("USP_Search",_SqlConnection);
sda.SelectCommand.CommandType = CommandType.StoredProcedure;
sda.SelectCommand.Parameters.AddRange(("@SearchNumbers", txtNumbers.Text);
sda.SelectCommand.Parameters.Add("@SearchName", txtName.Text);
sda.Fill(dt);
return dt;
DGV里面要绑定dt里面的列
dgvSearchResult.DataSource
每列每列绑定不现实呀.
SqlCommand _SqlCommand = new SqlCommand("USP_Search", _SqlConnection);
_SqlCommand.CommandType = CommandType.StoredProcedure;
_SqlCommand.Parameters.Add("@SearchNumbers", txtNumbers.Text);
_SqlCommand.Parameters.Add("@SearchName", txtName.Text);
DataTable dt=new DataTable("Result");
DataSet ds = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(_SqlCommand );
sda.Fill(ds);
dt=ds.Tables[0]
return dt;试试
SqlCommand _SqlCommand = new SqlCommand("USP_Search", _SqlConnection);
_SqlCommand.CommandType = CommandType.StoredProcedure;
_SqlCommand.Parameters.AddWithValue("@SearchNumbers", txtNumbers.Text);
_SqlCommand.Parameters.AddWithValue("@SearchName", txtName.Text);
_SqlConnection.Open();
SqlDataAdapter _SqlDataAdapter = new SqlDataAdapter(_SqlCommand);
DataSet _DataSet = new DataSet();
// _SqlCommand.ExecuteNonQuery();
_SqlDataAdapter.Fill(_DataSet);
_DataTable = _DataSet.Tables[0];
dgvSearchResult.DataSource = _DataTable;//不知是这里怎么写,调试也是没有数据
SqlCommand _SqlCommand = new SqlCommand("USP_Search", _SqlConnection);
_SqlCommand.CommandType = CommandType.StoredProcedure;
_SqlCommand.Parameters.AddWithValue("@SearchNumbers", txtNumbers.Text);
_SqlCommand.Parameters.AddWithValue("@SearchName", txtName.Text);
SqlDataAdapter _SqlDataAdapter = new SqlDataAdapter(_SqlCommand);
DataSet _DataSet = new DataSet();
DataTable _DataTable=new DataTable("result")
// _SqlCommand.ExecuteNonQuery();
_SqlDataAdapter.Fill(_DataSet);
_DataTable = _DataSet.Tables[0];
dgvSearchResult.DataSource = _DataTable;
把open去掉
实在不行自己调试看看,或者先不用存储过程,用sql语句测试下,看能不能读取数据出来
直接在分析器里面
EXEC USP_Search @SearchNumbers='001',@SearchName=''
竟然没值....我晕
但直接用过程里面的SQL语句来查又OK.不解
ALTER PROCEDURE USP_Search
@SearchNumbers varchar,
@SearchName varcharAS
SELECT dbo.Department.DepName, dbo.Position.P_Name, dbo.Employees.Numbers, dbo.Employees.Ename, dbo.Employees.Sex, dbo.Employees.ENational,
dbo.Employees.NameID, dbo.Employees.birth, dbo.Employees.Marital, dbo.Employees.School, dbo.Employees.Specialty, dbo.Employees.Native,
dbo.Employees.Tel, dbo.Employees.NowAddress, dbo.Employees.Household, dbo.Employees.RelativeName, dbo.Employees.RelativeTel,
dbo.Employees.ERelative, dbo.Employees.Training, dbo.Employees.WorkExperience, dbo.Employees.AddTime, dbo.Employees.State
FROM dbo.Employees INNER JOIN
dbo.Position ON dbo.Employees.PostID = dbo.Position.PostID INNER JOIN
dbo.Department ON dbo.Position.DepartID = dbo.Department.DepartID WHERE (dbo.Employees.Numbers = @SearchNumbers) OR (dbo.Employees.Ename = @SearchName)这就是存储过程.没看到有错.为啥就是没有值呢
begin开始
end 结束
SqlCommand _SqlCommand = new SqlCommand("USP_Search", _SqlConnection);
_SqlCommand.CommandType = CommandType.StoredProcedure;
_SqlCommand.Parameters.Add("@SearchNumbers", txtNumbers.Text);
_SqlCommand.Parameters.Add("@SearchName", txtName.Text);
// _SqlCommand.ExecuteNonQuery(); 这个不要 SqlDataAdapter DataAdapter = new SqlDataAdapter();
this.DataAdapter.SelectCommand = this.SqlCommand;
this.DataAdapter.Fill(dt);
_MyComm.CommandType = CommandType.StoredProcedure;
_MyComm.Parameters.Add("@SearchNumbers", txtNumbers.Text);
_MyComm.Parameters.Add("@SearchName", txtName.Text);
SqlDataAdapter DataAdapter = new SqlDataAdapter();
this.DataAdapter.SelectCommand = this.MyComm;
this.DataAdapter.Fill(dt);
然后dt在给定要绑定的控件就行~\(≧▽≦)/~啦啦啦
@SearchNumbers varchar,
@SearchName varchar
AS
select * from Users where Numbers=@SearchNumbers,Name=@SearchName这里面的 @SearchNumbers varchar 和@SearchName varchar 你确定varchar后面没少什么东西?
长度