取得数据库表自动编号字段名称

请问怎么用asp.netC#取得accsee数据库表自动编号字段名称和SqlServer数据库表增长字段名称?谢谢!不是主键,是自动编号和增长字段名称哦。感谢三位的回答,... 请问怎么用asp.net C#取得accsee数据库表自动编号字段名称和SqlServer数据库表增长字段名称?谢谢!不是主键,是自动编号和增长字段名称哦。
感谢三位的回答,21d801 转发的我之前已经在别处看过了,但用的是ADO,非ADO.NET,在.net中ADO似乎不能用吧,如果能用该怎么引用命名空间呢?
展开
 我来答
21d801
推荐于2016-06-19 · TA获得超过660个赞
知道小有建树答主
回答量:830
采纳率:100%
帮助的人:913万
展开全部
.NET获取ACCESS自动编号列的一种方法(转)

我之前上网查阅了相关的信息,发现这方握弯并面的文章不是太多,虽然不长用,但是有时真要用时使人抓...
我说下我的思路
首先我们需要数据库的架构信息,获得表名(其实我个人认为可以获得数据库各表的PrimaryKey已经足够了,因为.Net的Guid.NewGuid()方闹搜法做主键实在是太好了),然后根据表名循环查询除系统表之外的所有表来获取相关信息.很遗憾,我原先一直打算只用ADO.NET就完成所有的事情,但是寻找了好久都没有发现相关的方法,当然这和个人的水平有着重段迹要的因素,不罗嗦了下面是代码
public void ACCESS_MSG(string DataPath)
{
try
{
System.Data.DataTable dt = new System.Data.DataTable();
System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
DataOpt.Data opt = new DataOpt.Data();
conn = opt.OLEDBCONN(DataPath);//这里是我自己写的连接类
dt=conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Primary_Keys, null);//这里获取数据的架构信息
Get_TableName(dt,DataPath);
conn.Close();
}
catch (System.Exception ex)
{
Console.Write(ex.Message.ToString());
}
}
protected void Get_TableName(System.Data.DataTable TableMsg, string DataPath)
{
int i = 0;
string TableName = "", ParmetersList="",PrimaryKeys="";
for (i = 0; i < TableMsg.Rows.Count; i++)
{
if (TableMsg.Rows[i]["Table_Name"].ToString().Contains("MSys") != true)
{
TableName = TableMsg.Rows[i]["Table_Name"].ToString().ToUpper();
Console.WriteLine(TableName);
PrimaryKeys = TableMsg.Rows[i]["COLUMN_NAME"].ToString();
ParmetersList = Get_ParmeterList(TableName, DataPath);
DataOpt_Table(TableName, DataPath, ParmetersList, PrimaryKeys);

}
}
}

以上代码已经获取了除系统表外所有用户表的名,下面开始获取自动编号列,我使用了ADO,非ADO.NET...
protected void Get_AutoID(string TableName)
{
ADODB.Recordset rs = new ADODB.Recordset();
string conn = "你的数据库连接";
int i = 0;
rs.Open("select * from " + TableName, conn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic, -1);
for (i = 0; i < rs.Fields.Count; i++)
{
if (rs.Fields[i].Properties[2].Value = true)//这里的特性集合中有5个值,第一个是表名(没记错就是),第二个是字段名,第三个就是是否为自动增长类型了,第四个好象是判断数据库是否区分大小写,第五个一直没搞清楚
{
//这个列是自动编号列
}
}

}
百度网友c5048a0
2012-06-24 · TA获得超过403个赞
知道小有建树答主
回答量:194
采纳率:0%
帮助的人:198万
展开全部
SQLServer通过查询 syscolumns 系统表,可以找迟携拿出所需要码搭的类型 int identity(1,1)
Access通过查询 MSysNavPaneObjectIDs 隐隐搜藏表的 Type 列
追问
没用过,请用MSysNavPaneObjectIDs 举例一下好吗?写一下实现代码,谢谢
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈伟场
2012-06-24 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:291
采纳率:100%
帮助的人:169万
展开全部
应该没有提供这样的函数吧...怎么有这个需求...这似乎很少案例用上..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式