DataSet ds = new DataSet();
SqlCeDataAdapter sda = SqlCeDataAccess.MyAdapter("select * from Tab1 where line2='" + textBox6.Text + "'");
sda.Fill(ds,"Tab1");
int cnt_temp = int.Parse(ds.Tables["Tab1"].Rows[1]["line"].ToString()) + 1;Tab1表内有4行数据line2是Tab1中的唯一标识列,调试运行中将select语句放入查询分析器搜索出一条语句,但是在执行第三行的时候却没有报错,费解!Rows属性内count值是4,为什么?
SqlCeDataAdapter sda = SqlCeDataAccess.MyAdapter("select * from Tab1 where line2='" + textBox6.Text + "'");
sda.Fill(ds,"Tab1");
int cnt_temp = int.Parse(ds.Tables["Tab1"].Rows[1]["line"].ToString()) + 1;Tab1表内有4行数据line2是Tab1中的唯一标识列,调试运行中将select语句放入查询分析器搜索出一条语句,但是在执行第三行的时候却没有报错,费解!Rows属性内count值是4,为什么?
既然line2是唯一标识列,不管tab1中有几行数据都最多只能出来一行,你要取第二行当然出错
foreach(DataRow dr in ds.Tables["Tab1"].Rows)
{
this.textBox1.Text+=dr["line"].ToString()+"\r\n";
}
{
SqlCeConnection myConnection = new SqlCeConnection(myConnString);
if (myConnection.State != ConnectionState.Open)
{
myConnection.Open();
}
SqlCeDataAdapter myAdapter = new SqlCeDataAdapter(cmdString, myConnString);
myConnection.Close();
return myAdapter; }
才发现,在4000多行以前有个地方用了DataSet ds = new DataSet();一次没释放我昏