一、连接字符串:
string conntionString="Data Source=./SQL2005;Catalog DataBase= Master;Integrated Security=True";
或 string conntionString="Data Source=./SQL2005;Catalog DataBase= Master;user=sa;password=1234";
二、附加数据库:
SqlConnection conn = new SqlConnection(conntionString);
//EXEC sp_detach_db @dbname = '数据库名' 删除数据库
string sqlStr= "EXEC sp_attach_db @dbname = '" + "数据库名"+ "', @filename1 =
'"+ strMdf + "',@filename2='" + strLdf + "'";
SqlCommand cmd = new SqlCommand(sqlStr, conn);
try
{
conn.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw ex;
}
finally
{
cmd.Close();
}
三、判断数据库中的某张表是否存在
if exists (select *
from sysobjects
where id = object_id('dbo.tblName')
and type = 'U')
drop table dbo.tblName
Go
----------------------------------------------------
type对象类型。可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
四、创建表
create table dbo.tblName(
pkid int ,--primary key,主键
sex char(20) ,
myname nvarchar(200),
--constraint PK_tblName primary key (pkid) 主键
)
Go
五、添加表和字段的中文属性
//表的中文属性
execute sp_addextendedproperty 'MS_Description',
'工程设计成品档案表',
'user', 'dbo', 'table', 'tblFinishedProduct'
go
//字段的中文属性
execute sp_addextendedproperty 'MS_Description',
'登记日期',
'user', 'dbo', 'table', 'tblFinishedProduct', 'column', 'BookInDate'
Go
六、获取数据库表名和某表下的字段名
DataTable dt;
using (OdbcConnection con = new OdbcConnection(buider.ConnectionString))
{
con.Open();
dt = con.GetSchema("Tables");//获取表的结构
}
//获取表名
foreach (DataRow dr in dt.Rows)
{
string tableName=dr["TABLE_NAME"].ToString();
}
using (OdbcConnection con = new OdbcConnection(buider.ConnectionString))
{
con.Open();
dt = con.GetSchema("Columns","DataBaseName","dbo","DataTableName"); //获取特定表的结构
}
//将档案里需要导入数据的表添加到组件中
foreach (DataRow dr in dt.Rows)
{
string columeName=dr["COLUMN_NAME"].ToString();//获取字段名
}