SQL中,知道某个表格的名字,用什么命令或方法可以得到该表格对应的数据库?
我在做一个VB&SQL的程序,现在知道SQL某个表格的名字了,怎样才能得到该表格对应的数据库是哪个?用什么查询命令?哪个大侠知道,指点下?...
我在做一个VB&SQL的程序,现在知道SQL某个表格的名字了,怎样才能得到该表格对应的数据库是哪个?用什么查询命令?哪个大侠知道,指点下?
展开
1个回答
展开全部
知道表名要查数据库是有点麻烦的。
你得写个过程,打开每个数据库,然后,查询每个数据库下面的表,一一比对。
对比一致的返回Ture,相反返回False。
可参考下列过程:
#region 获取服务器上的所有数据库
/// <summary>
/// 获取服务器上的所有数据库
/// </summary>
/// <param name="includeSysDB">是否包含系统数据库</param>
/// <returns>数据库名</returns>
public static DataTable GetAllDataBase(bool includeSysDB)
{
DataTable dt = new DataTable();
string sql="";
try
{
if (includeSysDB)
{
sql = "select * from master.dbo.sysdatabases";
}
else
{
sql = "select * from master.dbo.sysdatabases where dbid > 6";
}
dt = DataBase.Query(sql).Tables[0];
}
catch
{
MessageBox.Show("执行下列SQL语句出错:\n" + sql, "保会通财务软件", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return dt;
}
#endregion
#region 获取指定数据库的所有表
/// <summary>
/// 获取指定数据库的所有表
/// </summary>
public static DataTable GetAllTables(string DatabaseName)
{
string Con = "Server=local;DataBase=Bhtsoft;User ID=sa;PWD=";
try
{
SqlConnection Conn = new SqlConnection(Con);
Conn.Open();
}
catch (Exception ex)
{
MessageBox.Show("未成功打开数据源\n\n产生错误的原因可能是:\n" + ex.Message.ToString() + "");
}
DataTable dt = new DataTable();
string sql="";
try
{
sql = "SELECT OBJECT_NAME (id) as DtTable FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0";
dt = DataBase.Query(sql).Tables[0];
}
catch
{
MessageBox.Show("执行下列SQL语句出错:\n" + sql, "保会通财务软件", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return dt;
}
#endregion
你得写个过程,打开每个数据库,然后,查询每个数据库下面的表,一一比对。
对比一致的返回Ture,相反返回False。
可参考下列过程:
#region 获取服务器上的所有数据库
/// <summary>
/// 获取服务器上的所有数据库
/// </summary>
/// <param name="includeSysDB">是否包含系统数据库</param>
/// <returns>数据库名</returns>
public static DataTable GetAllDataBase(bool includeSysDB)
{
DataTable dt = new DataTable();
string sql="";
try
{
if (includeSysDB)
{
sql = "select * from master.dbo.sysdatabases";
}
else
{
sql = "select * from master.dbo.sysdatabases where dbid > 6";
}
dt = DataBase.Query(sql).Tables[0];
}
catch
{
MessageBox.Show("执行下列SQL语句出错:\n" + sql, "保会通财务软件", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return dt;
}
#endregion
#region 获取指定数据库的所有表
/// <summary>
/// 获取指定数据库的所有表
/// </summary>
public static DataTable GetAllTables(string DatabaseName)
{
string Con = "Server=local;DataBase=Bhtsoft;User ID=sa;PWD=";
try
{
SqlConnection Conn = new SqlConnection(Con);
Conn.Open();
}
catch (Exception ex)
{
MessageBox.Show("未成功打开数据源\n\n产生错误的原因可能是:\n" + ex.Message.ToString() + "");
}
DataTable dt = new DataTable();
string sql="";
try
{
sql = "SELECT OBJECT_NAME (id) as DtTable FROM sysobjects WHERE xtype = 'U' AND OBJECTPROPERTY (id, 'IsMSShipped') = 0";
dt = DataBase.Query(sql).Tables[0];
}
catch
{
MessageBox.Show("执行下列SQL语句出错:\n" + sql, "保会通财务软件", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
return dt;
}
#endregion
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询