我知道这看起来很简单,但我一直在寻找一个没有运气好几个小时的答案。
我想将行值填充到一堆文本框中。如何指定[CompanyName]
文本框将使用companyName
?请保持尽可能简单(初级水平)。
string customerUniqueID = "test";
string constr = ConfigurationManager.ConnectionStrings["SQLConnection"].ToString(); // connection string
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand com = new SqlCommand("SELECT * FROM [Customers] WHERE [UniqueID] = @UniqueID", con); // table name
com.Parameters.Add("@UniqueID", SqlDbType.Int);
com.Parameters["@UniqueID"].Value = customerUniqueID;
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
companyName.Text = ?????????
答案 0 :(得分:1)
string customerUniqueID = "test";
string constr = ConfigurationManager.ConnectionStrings["SQLConnection"].ToString(); // connection string
SqlConnection con = new SqlConnection(constr);
con.Open();
SqlCommand com = new SqlCommand("SELECT * FROM [Customers] WHERE [UniqueID] = @UniqueID", con); // table name
com.Parameters.Add("@UniqueID", SqlDbType.Int);
com.Parameters["@UniqueID"].Value = customerUniqueID;
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
da.Fill(ds, "Customers");
companyName.Text = ds.Tables[0].Rows[0]["CompanyName"].ToString();
答案 1 :(得分:1)
我会建议您对代码进行一些更改:
DataTabe
代替DataSet
。DataTable
,您可以使用SqlAdapter.Fill()
method。Field()
通用方法(更多examples of Field()
)从DataTable
获取值。using
块用于一次性物品,或者至少确保在之后关闭它们。con.Open()
方法时无需Fill()
打开连接,因为来自MSDN:如果发现连接尚未打开,则Fill方法隐式打开DataAdapter正在使用的Connection。如果Fill打开连接,它也将在Fill完成时关闭连接。这可以在处理单个操作(例如填充或更新)时简化代码。
string customerUniqueID = "test";
string constr = ConfigurationManager.ConnectionStrings["SQLConnection"].ToString(); // connection string
using(SqlConnection con = new SqlConnection(constr))
{
SqlCommand com = con.CreateCommand();
com.CommandText = "SELECT * FROM [Customers] WHERE [UniqueID] = @UniqueID";
com.Parameters.Add("@UniqueID", SqlDbType.Int);
com.Parameters["@UniqueID"].Value = customerUniqueID;
using(SqlDataAdapter da = new SqlDataAdapter(com))
{
DataTable dt = new DataTable();
da.Fill(dt);
companyName.Text = dt.Rows[0].Field<string>("CompanyName");
}
}
如果我错过了什么,请随时发表评论。