下面是我的数据库操作代码,参数是从界面中传过来的,把查出来的结果绑定到datagridview中
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace DataLibNew
{
public class MaterialDealRecordService
{
static SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString);
/// <summary>
/// 根据物资名称查询
/// </summary>
/// <param name="reader"></param>
/// <returns></returns>
public static T_MaterialDealRecord SelectMaterialDealRecord(int RepertoryID)
{
T_MaterialDealRecord MDR = new T_MaterialDealRecord();
string cmdText = "select * from T_MaterialDealRecord where RepertoryID=@RepertoryID";
try
{
conn.Open();
SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("@RepertoryID", RepertoryID) };
SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.Text, cmdText, sqlParams); if (reader.Read())
{
MDR.ID= (int)reader["ID"];
MDR.EvaluationID = (int)reader["EvaluationID"];
MDR.RepertoryID = (int)reader["RepertoryID"];
MDR.MaterialID = (int)reader["MaterialID"];
MDR.OutCount = (int)reader["OutCount"];
MDR.BackCount = (int)reader["BackCount"];
MDR.OutTime = (DateTime)reader["OutTime"];
MDR.BackTime = (DateTime)reader["BackTime"];
MDR.LossCount = (int)reader["LossCount"];
MDR.LossToMoney = (int)reader["LossToMoney"];
MDR.Receiver = reader["Receiver"].ToString();
MDR.DealType = (int)reader["DealType"];
MDR.Re = reader["Re"].ToString();
MDR.Flag = (int)reader["Flag"];
MDR.Reserve1 = reader["Reserve1"].ToString();
MDR.Reserve2 = reader["Reserve2"].ToString();
MDR.IntReserve = (int)reader["IntReserve"];
MDR.TimeReserve = (DateTime)reader["TimeReserve"];
MDR.Creater = (int)reader["Creater"];
MDR.Createtime = (DateTime)reader["Createtime"];
MDR.Modifier = (int)reader["Modifier"];
MDR.ModifyTime = (DateTime)reader["ModifyTime"]; }
}
finally
{
conn.Close();
} return MDR;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using System.Configuration;
using System.Data.SqlClient;
using System.Data;
namespace DataLibNew
{
public class MaterialDealRecordService
{
static SqlConnection conn = new SqlConnection(SqlHelper.ConnectionString);
/// <summary>
/// 根据物资名称查询
/// </summary>
/// <param name="reader"></param>
/// <returns></returns>
public static T_MaterialDealRecord SelectMaterialDealRecord(int RepertoryID)
{
T_MaterialDealRecord MDR = new T_MaterialDealRecord();
string cmdText = "select * from T_MaterialDealRecord where RepertoryID=@RepertoryID";
try
{
conn.Open();
SqlParameter[] sqlParams = new SqlParameter[] { new SqlParameter("@RepertoryID", RepertoryID) };
SqlDataReader reader = SqlHelper.ExecuteReader(SqlHelper.ConnectionString, CommandType.Text, cmdText, sqlParams); if (reader.Read())
{
MDR.ID= (int)reader["ID"];
MDR.EvaluationID = (int)reader["EvaluationID"];
MDR.RepertoryID = (int)reader["RepertoryID"];
MDR.MaterialID = (int)reader["MaterialID"];
MDR.OutCount = (int)reader["OutCount"];
MDR.BackCount = (int)reader["BackCount"];
MDR.OutTime = (DateTime)reader["OutTime"];
MDR.BackTime = (DateTime)reader["BackTime"];
MDR.LossCount = (int)reader["LossCount"];
MDR.LossToMoney = (int)reader["LossToMoney"];
MDR.Receiver = reader["Receiver"].ToString();
MDR.DealType = (int)reader["DealType"];
MDR.Re = reader["Re"].ToString();
MDR.Flag = (int)reader["Flag"];
MDR.Reserve1 = reader["Reserve1"].ToString();
MDR.Reserve2 = reader["Reserve2"].ToString();
MDR.IntReserve = (int)reader["IntReserve"];
MDR.TimeReserve = (DateTime)reader["TimeReserve"];
MDR.Creater = (int)reader["Creater"];
MDR.Createtime = (DateTime)reader["Createtime"];
MDR.Modifier = (int)reader["Modifier"];
MDR.ModifyTime = (DateTime)reader["ModifyTime"]; }
}
finally
{
conn.Close();
} return MDR;
}
}
}
Datagridview的datasource只能绑定Ilist
---------------------------------------------
第一种思路:
查询出数据读取器之后
DataTable table = new DataTable();
table.load(reader);
.....this.datagridview.datasource = table;第二种思路:
使用List<T_MaterialDealRecord>
查询的结果添加到集合中去最后依次循环list集合 为datagridview的单元格赋值。