从访问中删除多条记录 [英] multiple record deletion from access

查看:51
本文介绍了从访问中删除多条记录的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想用一个sql语句删除多个记录,
但它不能代替删除特定记录而无法工作,而是会删除整个表:
我的代码是:

I want to delete multiple record with one sql statement,
but it is not working instead of deleting specific records it delete the whole table:
my code is:

string[] names = { "a.jpg","b.jpg","c.jpg"};

for (int j = 0; j<names.length;>
{

 OleDbCommand sqlcmd = new OleDbCommand("delete from table1 where name not in (''" + names[j] + "'')", sqlconnection);
 sqlcmd.Parameters.AddWithValue("name", names[j]);

sqlcmd.executenonquery();


}


我正在使用C#和Access
感谢您的帮助并阅读了问题.
祝你有美好的一天

[Edited]代码包装在"pre"标签中[/Edited]


I am using C# and Access
Thanks for your help and reading the question.
Have nice day

Code is wrapped in "pre" tags[/Edited]

推荐答案

我认为您需要在其中使用逗号(,)字符串

I think you need to use comma (,) in the string

string names = "'a.jpg', 'b.jpg', 'c.jpg'";

OleDbCommand sqlcmd = new OleDbCommand("delete from table1 where name not in (" + names + ")", sqlconnection);

sqlcmd.executenonquery();


string [] names = {``a.jpg'',``b.jpg'',''c.jpg' ',''j.jpg''};


for(int j = 0; j< names.length;>
{

OleDbCommand sqlcmd = new OleDbCommand(从table1删除,其中column_name不在(" +名称[j] +)",sqlconnection中);

sqlcmd.executenonquery();

}

//此代码将删除多条记录(不包括参数值),在这种情况下(名称数组).
您可以排除或包含任意多个值.
string[] names = { " ''a.jpg'', ''b.jpg'',''c.jpg'',''j.jpg'' "};


for (int j = 0; j<names.length;>
{

OleDbCommand sqlcmd = new OleDbCommand("delete from table1 where column_name not in (" + names[j] + ")", sqlconnection);

sqlcmd.executenonquery();

}

// this code will delete multiple records excluding the parameter values, in this case (names array).
you can exclude or include as many values as many you want.


这篇关于从访问中删除多条记录的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆