如何使用sqldatareader中的值?
本文关键字:何使用 sqldatareader | 更新日期: 2023-09-27 17:51:20
我想使用sql数据读取器输出的值。修改后我想更新一下。我已经完成了选择部分,但是我不知道如何正确使用它们。
#region Get the value from db
using (SqlConnection c = new SqlConnection(connect))
{
c.Open();
using (SqlCommand cm = new SqlCommand(com,c))
{
cm.Parameters.AddWithValue("@nickname", nick);
SqlDataReader s = null;
s = cm.ExecuteReader();
while (s.Read())
{
string oras = Convert.ToString(s["Oras"]);
string judet = Convert.ToString(s["judet"]);
string adresa = Convert.ToString(s["adresa"]);
}
}
c.Close();
}
#endregion
textBox1.Text = oras;
textBox2.Text = judet;
textBox3.Text = adresa;
通常是这样做的:
using (SqlDataReader reader = com.ExecuteReader())
{
while (reader.Read())
{
My_Event _event = new My_Event();
if (reader["Id"] != DBNull.Value) { _event.ID = (int)reader["Id"]; }
if (reader["site"] != DBNull.Value) { _event.Site = reader["site"].ToString(); }
if (reader["time"] != DBNull.Value) { _event.Time = (DateTime)reader["time"]; }
_events.AddFirst(_event);
}
reader.Close();
}
检查值是否为DBNull.Value
,如果不是,则将其强制转换为原始类型
您需要为此添加SqlCommand, Sql Update字符串和SqlParameters:
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
你必须改变你的代码如下
#region Get the value from db
using (SqlConnection c = new SqlConnection(connect))
{
c.Open();
using (SqlCommand cm = new SqlCommand(com,c))
{
cm.Parameters.AddWithValue("@nickname", nick);
SqlDataReader s = null;
s = cm.ExecuteReader();
while (s.Read())
{
string oras = Convert.ToString(s["Oras"]);
string judet = Convert.ToString(s["judet"]);
string adresa = Convert.ToString(s["adresa"]);
textBox1.Text = oras;
textBox2.Text = judet;
textBox3.Text = adresa;
}
}
c.Close();
}
#endregion