gpt4 book ai didi

c# - 从 SqlDataReader 读取 int 值

转载 作者:IT王子 更新时间:2023-10-29 04:20:03 24 4
gpt4 key购买 nike

嗨,谁能帮我从数据库中获取 int 值,我在获取 int 值时遇到困难,它适用于 varchar 但不适用于 int 有人能帮我吗

if (int.TryParse(TxtFarmerCode.Text, out intValue))
{
using (SqlConnection sqlConn = new SqlConnection("Data Source=TANYA-PC;Initial Catalog=biore1;Integrated Security=True")) //here goes connStrng or the variable of it
{
sqlConn.Open();
string sqlQuery = @"SELECT farmername,villagename,gender,farmsize FROM cottonpurchase WHERE farmercode = @code";

using (SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn))
{
cmd.Parameters.Add("@code", SqlDbType.Int).Value = intValue;
using (SqlDataReader reader = cmd.ExecuteReader())
{;
if (reader.Read())
{
TxtFarmerName.Text = (string)reader[0];
TxtVillageName.Text = (string)reader[1];
TxtGender.Text = (string)reader[2];
}
else
MessageBox.Show("For Farmer Code " + intValue.ToString() + " there is no farmer in the database.");
}
}
}
}

我想获取 int 类型的 txtfarmersize 但不知道该怎么做请帮帮我?

最佳答案

你可以使用

reader.GetInt32(3);

从数据读取器读取 32 位 int。

如果您知道数据的类型,我认为最好使用强类型的 Get* 方法读取数据,而不是仅仅读取对象并进行转换。

你考虑过使用

reader.GetInt32(reader.GetOrdinal(columnName)) 

而不是按位置访问。这使您的代码不那么脆弱,并且如果您更改查询以在现有列之前添加新列也不会中断。如果要在循环中执行此操作,请先缓存序号。

关于c# - 从 SqlDataReader 读取 int 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7388475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com