请教啦
DataSet ds=new DataSet();int count=0;
SqlConnection conn=new SqlConnection(strcon);//建立数据库连接
conn.Open();
SqlDataAdapt cmd=new SqlDataAdapt(strsql,conn);//strsql是执行的sql语句
cmd.Fill(ds);
DataRow dd=ds.Tables[0].Rows[0];
count=int.Parse(dd[0].ToString());
count=Convert.Toint32(dd[0].ToString());//这两个方法实现转换都会出现输入格式不正确错误
conn.Close();
请问这怎么样解决呢 --------------------编程问答-------------------- dd[0]["Name"] --------------------编程问答-------------------- dd[0]["Name"].ToString() --------------------编程问答-------------------- 正解 --------------------编程问答-------------------- --------------------编程问答--------------------
DataRow dd
dd是DataRow了
断点调试,看看
dd[0].ToString()是什么? --------------------编程问答--------------------
dd是DataRow, 所以dd[0]["Name"]编译都不能通过...
这个错误应该是因为dd[0].ToString()字符串不能转为int
--------------------编程问答-------------------- 看看 dd[0] 是否為空
if(dd.IsNull(0)){...}else{...}
--------------------编程问答-------------------- 参数的值不能转换为int类型,检查值 --------------------编程问答-------------------- 是因为 dd[0].ToString() 你这个东西 根本没办法转换成Int32 比如说 "23x” 你转换成Int32也是那个异常
楼上别误导人
dd是DataRow 本身就是数据行了 索引器也是一维的
dd[index] 就是具体值了 哪来的2维索引 --------------------编程问答-------------------- if(ds.Tables[0]..Rows.Count>0)
{
int.TryParse(ds.Tables[0].Rows[0]["id"].ToString(),out count);
}
跟踪查看值 --------------------编程问答--------------------
DataTable dt=ds.Table[0].Row[0][0].ToString()--------------------编程问答--------------------
DataTable dt=ds.Table[0]; int count=int.Parse(dt.Row[0][0].ToString())--------------------编程问答--------------------
dt.Row[0][0]....
dt.Rows[... --------------------编程问答-------------------- int.TryParse() --------------------编程问答-------------------- DataTable dt=new DataTable();
int count=Convert.ToInt32(dt.Rows[0][0].tostring()); --------------------编程问答-------------------- 真快. --------------------编程问答-------------------- dd[0]["Name"]
DataRow 是试图表中的行。。。不只有一行。。。dd[0] 表示第一行 dd[0]["name"] 表示第一行(一般属于默认行)的名为name的那一列字段值 --------------------编程问答-------------------- 好的 这个问题解决了 谢谢大家啦
补充:.NET技术 , ASP.NET