读书人

用OLEDB删除一条记录的有关问题

发布时间: 2013-09-05 16:02:07 作者: rapoo

用OLEDB删除一条记录的问题
小子新学c#和oledb,最近小子在用OLEDB操作excel,发现一个问题,如果表不是常规的EXCEL表格(比如有合并的单元格)那么执行细致查询的时间,oledb的sql语句会通不过,总是报缺少参数什么的

PS:细致的意思是,如果执行 select * from table,这样是不是细致,select * from table
where F1=‘NAME’ 类似这样的是我要说的细致查询

后来小弟突然突发奇想,我操作的EXCEL其实就是第一行有合并的单元格,而下面的都是没有合并的,那么如果我至少要单纯的执行查询任务的话,是不是可以把记录集的第一行想办法删掉,那么下面的就可以查询了

各位大大别急,麻烦看下我下面可能本身就是错误的语句


//这句执行不通过,不懂的地方在F1这个字段处应该改为什么?我将‘F1’改为 ‘*’试过,语句通不过
//这条语句其实表达的意思是:除前面2条记录外的所有的其他记录被选择
"SELECT * FROM [" + table + "] WHERE F1 NOT IN (SELECT TOP 2 F1 FROM [" + table + "])";
//////////////////////////////////////////////////////////////////////////////
//下面代码大约一看,有疑问的地方,我单独注视了
//////////////////////////////////////////////////////////////////////////////

string strCom = " SELECT * FROM [" + table + "] ";
string strTab="["+table +"]";
//string strCom = "SELECT * FROM [" + table + "] WHERE F1 NOT IN (SELECT TOP 2 F1 FROM [" + table + "])";
//string strCom = "SELECT TOP 5 * FROM [" + table + "]";
DataSet ds;
ds = new DataSet();
OleDbCommand myComd;


OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, g_SouceConn);
//myCommand.DeleteCommand = new OleDbDataAdapter("DELETE TOP (5) FROM " + strTab, ts).DeleteCommand;

myCommand.DeleteCommand = new OleDbCommand("DELETE * FROM " + strTab, g_SouceConn);

try


{
//下面一条语句出现异常,如果执行”DELETE TOP (5) FROM " + strTab,提示我
//delete语句错误!--
//如果执行("DELETE * FROM " + strTab (只为测试用),直接提示该ISAM不支持
//在链表中直接删除,唉~估计我的C# oledb语句顺序和用法可能出错误了
myCommand.DeleteCommand.ExecuteNonQuery();
myCommand.Fill(ds);
}


小弟的分不多了,只能给80分了,谢谢各位大大帮忙看下这些乱七八糟的代码 sql excel c# dataset
[解决办法]
你的代码看的我好晕,不知所措。给你个参考吧。http://www.cnblogs.com/hlxs/archive/2010/11/24/2087985.html

读书人网 >C#

热点推荐