在将 varchar 值 '交易案例' 转换成数据类型 int 时失败。

CARTONHUANG 2014-06-04 12:36:05
做的是课题作业, 运行到while (reader.Read()) 出现了在将 varchar 值 '交易案例' 转换成数据类型 int 时失败。
调了半天不知道是什么原因?还请各位大神多多指教!
str = new string[9, 9];
int number = this.dataGridView1.RowCount;//计算当前dataGridView行数量
string sql = "select * from 住宅房产特征因素隶属函数 where 房产编号='" + textBox164.Text.Trim() + "' ";
con.Open(); // this.dataGridView1.CurrentRow.Cells[0].Value.ToString()
SqlCommand comm = new SqlCommand(sql, con);
SqlDataReader reader = comm.ExecuteReader();
while (reader.Read())//如何对下一行进行读取,一次循环完成只是对一行记录完成读取,Read()可以实现逐行读取?
{
if (reader.GetValue(1).ToString() == "交易案例") //text转换为string,C#中string类型
{
if (j <= number)
{
for (int k = 1; k < 9; k++)
{
str[0, j] = reader.GetValue(0).ToString();//编号
str[k, j] = reader.GetValue(k + 1).ToString();
}
j++;
}
}
}
...全文
313 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
smthgdin_020 2014-06-04
  • 打赏
  • 举报
回复
while (reader.Read()) 这个就是一行一行读取。 至于那个转换失败,就是因为字符串里有非数字的字符出现,比如中午,英文,符号。至于那里报错,你跟踪一下堆栈就知道了。
sunny906 2014-06-04
  • 打赏
  • 举报
回复
sqldatareader提供一种从 SQL Server 数据库读取行的只进流的方式
-烟花雨季 2014-06-04
  • 打赏
  • 举报
回复
1L+2L
EdsionWang 2014-06-04
  • 打赏
  • 举报
回复
 "select * from  住宅房产特征因素隶属函数 where 房产编号='" + textBox164.Text.Trim() + "' ";
房产编号是Int型吧?单引号去掉。 reader.Read()的问题同楼上
bdmh 2014-06-04
  • 打赏
  • 举报
回复
每次reader.Read()都会下移的,直到读取不到为止

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧