linq to sql 中从dbml文件中创建数据库
今天很郁闷,实验室的服务器东西都没有了,而我的数据库又在哪里,我又没有备份,把我抑郁的要命,幸亏我用的linq to sql.仔细想想,他的dbml文件基本包含了数据库的所有内容,所以,一定有办法从dbml文件中创建数据库!
研究了一段时间,终于让我重建起了数据库,虽然数据丢了,但那都是测试数据,基本没有什么用.呵呵现在把它们分享给大家,另外说一声,千万不要忘了备份数据库啊~~血的教训啊! 观察IDE自动生成的designer.cs文件,查看文件的结构如下:
[Table(Name="dbo.tb_borrow")]
public partial class tb_borrow : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private System.Nullable<int> _bookId;
private System.Nullable<int> _userId;
[Column(Storage="_bookId", DbType="Int")]
public System.Nullable<int> bookId
{
get
{
return this._bookId;
}
set
{
if ((this._bookId != value))
{
this.OnbookIdChanging(value);
this.SendPropertyChanging();
this._bookId = value;
this.SendPropertyChanged("bookId");
this.OnbookIdChanged();
}
}
}
[Column(Storage="_userId", DbType="Int")]
public System.Nullable<int> userId
{
get
{
return this._userId;
}
set
{
if ((this._userId != value))
{
this.OnuserIdChanging(value);
this.SendPropertyChanging();
this._userId = value;
this.SendPropertyChanged("userId");
this.OnuserIdChanged();
}
}
}
}
(为节省篇幅这里只列出几个属性)
可以发现,每个类都是由Table属性修饰的,而每个属性都是由Culumn修饰的,而实际上该属性对应的是ColumnAttribute类,该类包含了其所对应字段的字段名以及在数据库中的字段类型,欧拉,这就得了.我们创建数据库和数据表用的就是它啦.
接下来只要我们编写以下方法变可以轻松实现数据表的还原:
private void reverseDataTable()
{//在数据库中新建数据表
string
相关文档:
当执行一条DML语句后,DML语句的结果保存在四个游标属性中,这些属性用于控制程序流程或者了解程序的状态。当运行DML语句时,PL/SQL打开一个内建游标并处理结果,游标是维护查询结果的内存中的一个区域,游标在运行DML语句时打开,完成后关闭。隐式游标只使用SQL%FOUND,SQL%NOTFOUND,SQL%ROWCOUNT三个属性.SQL%FOUND,SQ ......
1、定义指令集:using System.Data.SqlClient;
2、定义sql连接: SqlConnection conn= new SqlConnection("server=(local);database=colorring;uid=sa;pwd=;");
3、打开sql连接: conn.Open();
4、定义sql语句:string sqlstr = "insert into test values (123321)";
5、组装sql语句和连接:SqlCommand cmd = new SqlCo ......
Create PROCEDURE [dbo].[ChangeObjectOwner]
@OldOwner as NVARCHAR(128),
@NewOwner as NVARCHAR(128)
AS
DECLARE @Name as NVARCHAR(128)
DECLARE @Owner as NVARCHAR(128)
DECLARE @OwnerName as NVARCHAR(128)
DECLARE curObject CURSOR FOR
select 'Name' = name,
'Owner'&n ......
首先在sqlserver的安装路径下,如:D:\Program Files\Microsoft SQL
Server\MSSQL\,找到文件名是scptxfr.exe的文件,利用命令行工具:具体用法如下:
D:\PROGRA~1\MICROS~2\MSSQL\>scptxfr/?
命令行语法:
SCPTXFR /s
<服务器> /d <数据库> {[/I] | [/P <密码>]}
&n ......
set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER PROCEDURE [dbo].[pagination]
@tblName varchar(255), -- 表名
@strGetFields varchar(1000), -- 需要返回的列
@fldName varchar(255), -- 排序的字段名
@PageSize int, -- 页尺寸
@PageIndex int, -- 页码
@OrderType bit, -- 设置排序类型, 非 0 值 ......