c#怎样查询数据库中的所有表中是否有此id

在textbox中输入一个id,获取此 id 并且与 数据库中所有表中的 id 列中的数据相比较,看数据库中是否存在此 id

每个数据库中都有表示自己table,column以及其它对象的数据结构,可以同样用SQL的方式查询,以MS SQL Server 2008为例:
在每个DB的System Views里有一大堆视图,其中最关键的是systemobjects,搞清楚这个就没什么难得住你了。也可以用sys.tables得到table列表,用sys.columns得到columns的列表,找到table和column的名称后,为每个表拼一个SQL语句,然后执行,用C#做或者在SQL Server上作都可以。

通过查询sys.tables得到table name的list,循环这个list,对每一个table name,生成一个SQL语句字符串:SELECT COUNT(ID) FROM <table name> WHERE ID=<your input>,(这里假设ID字段都叫“ID”)。然后执行这个SQL语句。在SQL Server上可以用EXECUTE,C#里可以通过建立DbSqlCommand来执行。总之就是针对每一个表,运行一次SELECT操作。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-04-05
string str="select id from (Table数据库中的表)where id="+"'"+this.textbox.Text.Tostring().trim()+"'";
sqlconnection conn=new sqlconnection("server=##;database=##;uid=##;pwd=##");
sqldataAdapter ada=new sqldataAdapter(str,conn);
dataset set=new dataset();
set.clear();
ada.fill(set,"set");
if(set.table[0].rows.count>0){messagebox.show("该id存在");}
第2个回答  推荐于2016-05-03

代码如下:

string datetime = dTyear.Text.ToString() + cbmonth.Text.ToString();
            string create = "Create Table " + datetime + "(ID Int Primary Key,E_Name char(10),E_Title char(10),BasicWage char(10),OverTime_Pay char(10),LatePenalty char(10),Allowance char(10))";
            string select = "select * from " + datetime.ToString() ;
            ocm = new OleDbCommand(create, occ);
            ocm1 = new OleDbCommand(select,occ);
            int flag = ocm1.ExecuteNonQuery();
            if (flag != 0)
            {
                ocm.ExecuteNonQuery();
                occ.Close();
                Form5 add = new Form5();
                this.Hide();
                add.Show();
                return;
            }
            else
            {
                MessageBox.Show(cbmonth.Text.ToString() + "月的核算表已经建立!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                occ.Close();
                return;
            }

第3个回答  2012-04-03
select count(id) from 表名 where id=?
第4个回答  2012-04-04
select * from a inner join on x.Id=?.id...

c#怎样查询数据库中的所有表中是否有此id
【表名】说明你名为[test]的数据库中没有名为[tablename]的表。查询数据库[test]中的表名用这句:select table_name from information_schema.tables where table_schema='test'

c#怎样查询数据库中的所有表中是否有此id
在每个DB的System Views里有一大堆视图,其中最关键的是systemobjects,搞清楚这个就没什么难得住你了。也可以用sys.tables得到table列表,用sys.columns得到columns的列表,找到table和column的名称后,为每个表拼一个SQL语句,然后执行,用C#做或者在SQL Server上作都可以。通过查询sys.tables得到table name...

C#判断数据库中是否已有同一条数据,没有则修改
insert into ...else update ...第二种方案:在程序里分两次操作数据库(这种方式比较浪费资源)string cmdText="select count(*) from 表名 where...(判断是否同一条数据的条件)";SqlCommand cmd=new SqlCommand(cmdText,con)con.Open();\/\/先得到数据库中是否有这条记录 int num =Convert.ToInt...

用C# 如何判断数据库中是否存在一个值
选定一个列,比如职工号列 ele_no = 'xxxxxxxx';\/\/查询此职工号是否存在 SqlCommand mycmd = new SqlCommand("select 职工号 from table where 职工号='"+ele_no+"'", mycon);SqlDataReader mysdr = mycmd.ExecuteReader();if (mysdr.HasRows){ \/\/已经有记录使用此编号 }else{ \/\/此编号...

C#如何判断查询SQL数据库是否有此条记录?
select count(*) from tablename where 条件,查询满足条件的数据条数,执行SqlCommand的ExecuteScalar方法,返回数据条数,大于0就存在。

C#如何判断查询SQL数据库是否有此条记录?
select count(*)from tablename where 条件,查询满足条件的数据条数,执行SqlCommand的ExecuteScalar方法,返回数据条数,大于0就存在。

C#中查询数据库中表的信息的语句怎么写
查找全部数据 select * from 表名 查找全部满足 某条件的数据 select * from 表名 where 列名='值'(如:UserId='10000'这是条件)查找全部数据的条数 select count(*) from 表名 (该语句返回表全部数据的行数)查询全部 满足某条件的数据 select count(*) from 表名 where 列名='值'...

C#下检索MySQL中是否存在某一值
首先你的id在数据库中是什么类型的,若为数值型的则不需要加引号;第二DBNull是一个特殊的类型,它不等于任何值,所以不能通过result is DBNull来判断它是否为DBNull类型,而应通过Convert.IsDBNull(result)来判断

C#中如何获取数据库中表的信息和列的信息
这应该是一个SQL方面的问题 --查询数据库中所有表名称select namefrom master..sysdatabasesorder by name--查询dbName数据库tableName表中列名称SELECT *FROM dbName..syscolumnsWHERE id = Object_id('dbName..tableName')

C# 在注册用户信息时,如何在数据库查询是否有该用户名,如果已存在则提...
selct count(*) from 用户表 where 用户名='传入的用户名'如果 查询得到1 则说明 数据库中有这个用户名 --提示失败 如果查询到0 则说明该数据库中无用户名 ---提示成功

相似回答