当前位置:编程学习 > C#/ASP.NET >>

请教啦

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() --------------------编程问答--------------------
引用 1 楼 zhoukang0916 的回复:
dd[0]["Name"]
正解 --------------------编程问答--------------------
引用 1 楼 zhoukang0916 的回复:
dd[0]["Name"]
--------------------编程问答--------------------
引用楼主 terry_swl 的回复:
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 ……

DataRow dd
dd是DataRow了

断点调试,看看
dd[0].ToString()是什么? --------------------编程问答--------------------
引用楼主 terry_swl 的回复:
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是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()
--------------------编程问答--------------------
引用 11 楼 tzcgao 的回复:
C# code
Row[0][0].ToString()

DataTable dt=ds.Table[0];  int count=int.Parse(dt.Row[0][0].ToString())
--------------------编程问答--------------------
引用 12 楼 tzcgao 的回复:
引用 11 楼 tzcgao 的回复:
C# code
Row[0][0].ToString()


C# code
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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,