语言C#,winform,数据库为access. 如何把int数组作为sql语句中的查询条件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了语言C#,winform,数据库为access. 如何把int数组作为sql语句中的查询条件?相关的知识,希望对你有一定的参考价值。
PostIds[num]中记录了多个岗位编码,希望以数组PostIds中的值作为查询条件,查询岗位所对应的不重复的部门编号。部门与岗位是一对多的关系,岗位表中包含部门编码
。希望能成功达到如下sql语句中的查询效果:String sql=@" select distinct DepartmentId from POSITION where PostId in("+PostIds+")";
for(int i=0;i<PostIds.Length;i++)
ids+=PostIds[i];
if(i<PostIds.Length-1)
ids+=",";
String sql=@" select distinct DepartmentId from POSITION where PostId in("+ids+")";追问
真的可以哦,之前在网上也查到了这样的做法,但一直认为ids属于字符串,而PostId字段属于int型,会出现类型不匹配。没想到真可以,是因为数据库在接受in(值1,值2,…)条件时本来就是以字符串的形式接受,再根据值1类型执行相关操作的嘛?
追答数字在sql中加引号就作为字符串,不加引号就作为number类型,
本回答被提问者采纳 参考技术C String sql=" select distinct from POSITION where PostId =("+PostIds+")"; 参考技术D 怎么了?有啥问题...C#winform程序连接ACCESS数据库字符串.
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+file
报错 error 未发现数据源名称并且未指定默认驱动程序
"Driver=Microsoft Access Driver (*.mdb); DBQ=C:\App1\你的数据库名.mdb; Exclusive=1; Uid=你的用户名; Pwd=你的密码;"
MS ACCESS OLEDB & OleDbConnection (.NET下的OleDb接口)进行链接
2.普通方式(最常用)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; User Id=admin; Password="
3.使用工作组方式(系统数据库)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"
4.连接到带有密码的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:Database Password=你的密码"
5.连接到处于局域网主机上的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"
6.连接到处于远程服务器上的ACCESS数据库:
"Provider=MS Remote; Remote Server=http://远程服务器IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb"
MS ACCESS ODBC开放式接口连接字符串
7.标准链接:
"Driver= MicrosoftAccessDriver(*.mdb);DBQ=C:\App1\你的数据库名.mdb;Uid=你的用户名;Pwd=你的密码;"
如果ACCESS数据库未设置用户名和密码,请留空。下同。
8.WorkGroup方式(工作组方式)连接:
"Driver=Microsoft Access Driver (*.mdb); Dbq=C:\App1\你的数据库名.mdb; SystemDB=C:\App1\你的数据库名.mdw;"
9.采用独占方式进行连接:
"Driver=Microsoft Access Driver (*.mdb); DBQ=C:\App1\你的数据库名.mdb; Exclusive=1; Uid=你的用户名; Pwd=你的密码;"
MS ACCESS OLEDB & OleDbConnection (.NET下的OleDb接口)进行链接
10.普通方式(最常用)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; User Id=admin; Password="
11.使用工作组方式(系统数据库)连接ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:System Database=c:\App1\你的系统数据库名.mdw"
12.连接到带有密码的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb; Jet OLEDB:Database Password=你的密码"
13.连接到处于局域网主机上的ACCESS数据库:
"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\Server_Name\Share_Name\Share_Path\你的数据库名.mdb"
14.连接到处于远程服务器上的ACCESS数据库:
"Provider=MS Remote; Remote Server=http://远程服务器IP; Remote Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\App1\你的数据库名.mdb" 参考技术A Provider=Microsoft.Jet.OleDB.4.0;Data Source=|DataDirectory|\mxz_9xiangyy.mdb;User ID=Admin;Jet OleDB:DataBase Password=123456;Persist Security Info=True;
上面这个链接地址一般写在web.config里面,但是在winform下一样使用 参考技术B 如:public static string connstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/web.mdb");
注:~ 采用的相对路径
App_Data是项目中存放数据库的文件夹 参考技术C C#连接连接Access程序代码:
using System.Data;using System.Data.OleDb;
......
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb";
OleDbConnection objConnection=new OleDbConnection(strConnection);
......
objConnection.Open();objConnection.Close(); 参考技术D "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
Application.StartupPath + @"/db/dbtest.mdb"
以上是关于语言C#,winform,数据库为access. 如何把int数组作为sql语句中的查询条件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在C#Winform窗体的Treeview上面添加CheckBox复选框
SQL Server 2005 与VS2005编程语言C# winform实现数据库备份与恢复。