代码是:
//----------------------------------
SQL="SELECT * FROM A";
sqlCommand=new SqlCommand(SQL,Conn);
ds=new DataSet();
da=new SqlDataAdapter();
sqlCb=new SqlCommandBuilder(da);
da.SelectCommand=sqlCommand;
da.Fill(ds,"A");
DataRow thisRow=ds.Tables["A"].NewRow();
thisRow[0]="111";
thisRow[1]="bbb";
ds.Tables["A"].Rows.Add(thisRow);
da.Update(ds,"A");
//-----------------------------------
问题:
1、这是不是增加数据记录的常规做法?
2、有没有更好的做法?
3、感觉“da.Fill(ds,"A");”这句是把表带入本机内存,不知对不对?
4、当表A数据很大时,会不会消耗很多资源?
//----------------------------------
SQL="SELECT * FROM A";
sqlCommand=new SqlCommand(SQL,Conn);
ds=new DataSet();
da=new SqlDataAdapter();
sqlCb=new SqlCommandBuilder(da);
da.SelectCommand=sqlCommand;
da.Fill(ds,"A");
DataRow thisRow=ds.Tables["A"].NewRow();
thisRow[0]="111";
thisRow[1]="bbb";
ds.Tables["A"].Rows.Add(thisRow);
da.Update(ds,"A");
//-----------------------------------
问题:
1、这是不是增加数据记录的常规做法?
2、有没有更好的做法?
3、感觉“da.Fill(ds,"A");”这句是把表带入本机内存,不知对不对?
4、当表A数据很大时,会不会消耗很多资源?
可以算是吧。2、有没有更好的做法?
不知道算不算是更好,但有个更简单的方法。
在vs2005,winform。用"数据"-"显示数据源"(Alt+Shit+D)
“添加新数据源”,建立数据库连接,从数据库里选择表A,把表A直接拖到Form上,系统帮你生成对应的BindingSource, BindingNavigator, TableAdapter等。通过BindingNavigator可以增、删、改。你甚至不用写一行代码。
3、感觉“da.Fill(ds,"A");”这句是把表带入本机内存,不知对不对?
yes. memory-resident database.
4、当表A数据很大时,会不会消耗很多资源?
yes.
改为SQL="SELECT * FROM A WHERE 1=2";
会不会好些(从节约资源方面)?
另,在SQL语句中有没有表示FALSE、TRUE的常量?