现在是两个问题,一个就是用Delphi新建一个登录用户,另外一个就是用刚才新建的登录用户,把一个数据库还原到数据库里(原来没有这个数据库),并且用刚建的用户可以连接这个数据库
解决方案 »
- 如何做出QQGame登陆时那种飞梭的进度条?
- 能否把内存流或磁盘上的某个文件的一部分映射为磁盘上的一个文件,供其它程序调用?
- BDE如何实现SQL Server的Windows认证登录?
- 写了一套人事考勤薪资门禁食堂管理的系统有愿意帮我测试的吗?
- 调用webservice出错,进来看看
- 我不做程序员,想找个女朋友
- 已经生成了SQL语句,怎么将字段名为MC的用当前记录号加进去?
- 求delphi打印控件,价格请进来谈。
- dbf数据库,两个一样的表(一个作为历史数据表,一个当前操作的表),要把当前操作的表的所有数据追加历史表中,什么方法最好!!!
- DELPHI XE 自动关闭的问题。
- 在安装delphi程序时,碰到了一个问题
- 程序结构问题
//具体的存储过程名字可能打错,自己查阅
创建登陆:
sql:='exec sp_addlogin ''hyc'',''pwd''';
创建数据库用户:
sql:='use database_name go exec sp_grantdb_access ''hyc'',''houyichong''';
授予权限
sql:='use database_name go grant all to houyichong';
var DEF_DBNAME,DEF_BAKNAME:string;
begin
if opendialog1.Execute then
begin
DEF_BAKNAME:=opendialog1.FileName;
DEF_DBNAME:=Dm_conn.conn.DefaultDatabase;
try
dm_conn.tempquery.Close ;
dm_conn.tempquery.SQL.Clear;
dm_conn.tempquery.SQL.Add('Use master');
dm_conn.tempquery.SQL.Add('ALTER DATABASE '+ DEF_DBNAME +' SET OFFLINE WITH ROLLBACK IMMEDIATE');
dm_conn.tempquery.SQL.Add('Restore Database '+ DEF_DBNAME +' From disk= '''+DEF_BAKNAME+'''');
dm_conn.tempquery.SQL.Add('ALTER DATABASE '+ DEF_DBNAME +' SET ONLINE WITH ROLLBACK IMMEDIATE');
Screen.Cursor := crSQLWait ;
try
dm_conn.tempquery.ExecSQL ;
ShowMessage('数据库恢复操作完成,请重新启动程序!');
application.Terminate;
finally
Screen.Cursor := crDefault ;
end ;
except
ShowMessage('数据库恢复操作没有完成,请稍侯重试。');
end ;
end;
end;