SQL server 2008 r2数据库怎么使用命令行对数据库进行操作,比如建表

您的举报已经提交成功,我们将尽快处理,谢谢!
存储过程要实现什么功能呢?
--sql server 2005的语句,2008应该没问题
--使用Test数据库
create t...
一个数据库的数据都是以表为单位二进制流的形式储存
一般存路径。。真要想存那存成binary
最简单的办法:在Oracle的控制台里给用户DBA权限。
如果Oracle的用户权限你控制不了的话,最好还是联系数据库管理员,让他帮你改
你导出数据库的时候,保存的版本选择低一点的
大家还关注 上传我的文档
 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
第三章 sql server 2008 表的基本操作
下载积分:3000
内容提示:第三章 sql server 2008 表的基本操作
文档格式:PPTX|
浏览次数:2|
上传日期: 13:42:09|
文档星级:
该用户还上传了这些文档
第三章 sql server 2008 表的基本操作
官方公共微信数据库开发基础篇—— .NET中SQL Server数据库的操作C#篇之一 - 推酷
数据库开发基础篇—— .NET中SQL Server数据库的操作C#篇之一
数据库应用程序开发基础篇—— .NET中SQL Server数据库的操作C#篇之一
写在前面:
前面介绍了数据库系统的基本概念,SQl语句基本使用方法,接下来通过学习具体语言和具体数据库结合的应用开发来体会数据库原理及其应用。关于ADO.NET及基于此平台的开发内容太多,我们要做的是从最简单的开始,本文将会给出使用ADO.NET类库访问SQL Server2008的实例。
1.ADO.NET对象模型简介
ADO.NET 是一组向 .NET 程序员公开数据访问服务的类。
ADO.NET 为创建分布式数据共享应用程序提供了一组丰富的组件。
它提供了对关系数据、XML 和应用程序数据的访问,因此是 .NET Framework 中不可缺少的一部分。
ADO.NET 支持多种开发需求,包括创建由应用程序、工具、语言或 Internet 浏览器使用的前端数据库客户端和中间层业务对象。
ADO.NET访问数据库的示意图如下所示:
ADO.NET的类由两部分组成:.NET数据提供程序(Data Provider)和数据集(Dataset)。
数据提供程序负责与数据源的物理连接,而数据集则表示实际的数据,这两部分都可以与数据的使用程序进行通信
ADO.NET对象模型如下图所示:
由图可知ADO.NET对象模型中有5个主要的组件,分别是Connection对象、Command对象,DataAdapter对象,DataReader对象和DataSet对象。下面部分将会依次讲解并以实例说明其用法。
2. ADO.NET中4个核心组件
首先通过下面这张表有个整体认识:
Connection
建立于特定数据库的连接
可以自己创建,也可由其他对象自动产生(如DataAdapter)
对数据源执行命令
透过Connection对象来下达命令,Connection的指向决定操作对象
DataAdapter
用数据源中的查询结果填充DataSet对象
DataAdapter填充到DataSet中的是断开连接的脱机数据
DataReader
从数据源中读取只读的数据流
DataReader读取数据必须在维持数据库连接的前提下进行
NET框架主要包括SQL Server.NET数据提供程序(用于Microsoft SQL Server)和OLE DB.NET数据提供程序。
第一套类库专门用于存取SQL Server数据库;第二套类库可以存取所有基于OLE DB提供的数据库,如SQL Server、Access、Oracle等。 具体的类名如下表所示:
Connection
SqlConnection
OleDbConnection
SqlCommand
OleDbCommand
DataAdapter
SqlDataAdapter
OleDbDataAdapter
DataReader
SqlDataReader
OleDbDataReader
关于两种类库的比较这一话题,作为入门暂时不做讨论,以后再做研究。
3.实例练习 SQL Server.NET类库
1) SQL Server.NET 类中库上述四个核心类的用法
上述四个核心类均位于System.Data.SqlClient命名空间下。
a.SqlConnection 类
&SQL Server 数据库的一个打开的连接,该类 无法继承 。 SqlConnection
&对象表示与 SQL Server 数据源的一个唯一的会话(
对于所有第三方 SQL 服务器产品以及其他支持 OLE DB 的数据源,请使用 OleDbConnection 。
)。对于客户端/服务器数据库系统,它等效于到服务器的网络连接。
SqlConnection &与& SqlDataAdapter &和 SqlCommand
& 一起使用,可以在连接 Microsoft SQL Server 数据库时提高性能。
SqlConnection重载有两个构造函数分别为:
SqlConnection ()初始化 SqlConnection 类的新实例。 SqlConnection (String)如果给定包含连接字符串的字符串,则初始化 SqlConnection 类的新实例。
一般在处理完事务后就可以关闭该链接,关于什么时候适合关闭链接的话题超出基础篇部分,留待以后研究。
读者可参考:《
b.SqlCommand类
此类 表示要对 SQL Server 数据库执行的一个 Transact-SQL 语句或存储过程。
此类重载有四个构造函数:
SqlCommand ()初始化 SqlCommand 类的新实例。 SqlCommand (String)用查询文本初始化 SqlCommand 类的新实例。 SqlCommand (String, SqlConnection)初始化具有查询文本和 SqlConnection 的 SqlCommand 类的新实例。 SqlCommand (String, SqlConnection, SqlTransaction)使用查询文本、一个 SqlConnection 以及 SqlTransaction 来初始化 SqlCommand 类的新实例。
c.SqlDataReader 类
此类提供一种从 SQL Server 数据库自上而下地读取数据源中的数据,而且这些数据是只读的,不允许进行其他操作。
注意:若要创建& SqlDataReader ,必须调用& SqlCommand &对象的& ExecuteReader
&方法,而不要直接使用构造函数。 后文实例中将有所体现。
在使用&SqlDataReader&时,关联的&SqlConnection&正忙于为&SqlDataReader&服务,对&SqlConnection&无法执行任何其他操作,只能将其关闭。除非调用&SqlDataReader的&Close&方法,否则会一直处于此状态。例如,在调用&Close&之前,无法检索输出参数。因此一般在读取操作结束后就需要调用Close方法使SqlConnection可以执行其他操作。
d.SqlDataAdapter类
此类 表示用于填充 DataSet
和更新 SQL Server 数据库的一组数据命令和一个数据库连接。 SqlDataAdapter是DataSet和SQL Server数据库之间的桥接器,用于检索和保存数据。
SqlDataAdapter通过对数据源使用适当的Transact-SQL 语句映射Fill(它可更改DataSet中的数据以匹配数据源中的数据)和Update(它可更改数据源中的数据以匹配DataSet中的数据)来提供这一桥接。
还要介绍一个类即
该类可以看做是一个暂时存放在内存中的数据库,它包含一些DataTable(DataSet对象中的每一个表)和DataView等对象。
假若有ds对象,可以使用以下方式来访问一个表中的第I行J列的数据:
ds.Tables[0].Rows[i].ItemArray[j]。数据表、行、列的对象索引均从0开始计数。
2)实例练习——利用上述类访问SQL Server数据库DBTest中的tbl_Student表
a.创建数据库、建表、插入数据
建立数据库,在SQL Server 2008中执行语句:& Create database DBT
建表及插入数据如下图所示:
b.利用C#语言结合SQL Server .NET类库访问SQL Server 2008数据库
( 为了更好的学习几个类的使用使用控制台程序,暂未涉及windows窗体应用程序 )
using System.Collections.G
using System.L
using System.T
using System.D
using System.Data.SqlC
namespace SQLServerEx1
class Program
static void Main(string[] args)
const string connStr = &server=WANGDINGQIAO-PC;database =DBTIntegrated Security =true&;//连接字符串
SqlConnection mySqlConnection = new SqlConnection();
mySqlConnection.ConnectionString = connS//新建连接对象并设置其连接字符串属性
string sqlStr = &select Sno ,Sname from tbl_Student&;//SQL语句
mySqlConnection.Open();//打开连接
SqlCommand mycmd = new SqlCommand(sqlStr, mySqlConnection);//新建SqlCommand对象
SqlDataReader sdr = mycmd.ExecuteReader();//ExecuteReader方法将 CommandText 发送到 Connection 并生成一个 SqlDataReader
Console.WriteLine(&学号 \t\t\t姓名&);
while (sdr.Read())
Console.WriteLine(&{0}\t\t{1}&, sdr[0], sdr[1]);//循环读取数据
sdr.Close();//读取完毕即关闭
catch (SqlException ex)
Console.WriteLine(ex.Message);
catch (Exception ex)
Console.WriteLine(ex.Message);
mySqlConnection.Close();//关闭连接
运行结果:
using System.Collections.G
using System.L
using System.T
using System.D
using System.Data.SqlC
namespace SQLServerEx2
class Program
static void Main(string[] args)
const string connStr = &server=WANGDINGQIAO-PC;database =DBTIntegrated Security =true&;
SqlConnection mySqlConnection = new SqlConnection(connStr);//新建连接对象
string sqlStr = &select * from tbl_Student&;//SQL语句
mySqlConnection.Open();//打开连接
SqlDataAdapter sda = new SqlDataAdapter(sqlStr, mySqlConnection);//新建SqlDataAdapter对象
DataSet ds = new DataSet();//新建Dataset对象
sda.Fill(ds);//填充DataSet对象
Console.WriteLine(&姓名\t\t性别&);
int cnt = ds.Tables[0].Rows.C//读取行数
for (int ix = 0; ix != ++ix)
Console.WriteLine(&{0}\t\t{1}&, ds.Tables[0].Rows[ix].ItemArray[1],
ds.Tables[0].Rows[ix].ItemArray[2]);//循环读取数据 注意索引范围
catch (SqlException ex)
Console.WriteLine(ex.Message);
catch (Exception ex)
Console.WriteLine(ex.Message);
mySqlConnection.Close();//关闭连接
运行结果:
4. 利用C#语言结合OLE DB .NET类库访问SQL Server 2008数据库
仍然采用上面建立的DBTest数据库。关于连接字符串的获取,可以参考《
程序代码:
using System.Collections.G
using System.L
using System.T
using System.Data.OleDb;
using System.D
namespace SQLServerEx3
class Program
static void Main(string[] args)
const string connStr = &Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=F&
+&Initial Catalog=DBTData Source=WANGDINGQIAO-PC&;
OleDbConnection myOleDbConnection = new OleDbConnection(connStr);//新建连接对象
string sqlStr = &select * from tbl_Student&;//SQL语句
myOleDbConnection.Open();//打开连接
OleDbCommand mycmd = new OleDbCommand(sqlStr, myOleDbConnection);//新建OleDbCommand对象
OleDbDataReader Olesdr = mycmd.ExecuteReader();//将 CommandText 发送到 Connection 并生成一个 OleDbDataReader
Console.WriteLine(&姓名 \t\t所在系&);
while (Olesdr.Read())
Console.WriteLine(&{0}\t\t{1}&, Olesdr[1], Olesdr[4]);//循环读取数据 注意索引值
Olesdr.Close();//读取完毕即关闭
catch (OleDbException ex)
Console.WriteLine(ex.Message);
catch (Exception ex)
Console.WriteLine(ex.Message);
myOleDbConnection.Close();//关闭连接
运行结果:
5.利用C#语言结合第三方与.NET类库连接器 访问MySQL数据库
访问MySQL数据的方法有多种,详情可参见
的博客:《C#连接数据库》
这里使用 &MySQL Connector/NET组件,
a.建立数据库、建表、插入数据
启动MySQL服务,执行如下图命令,即可完成类似SQL Server中相同任务:
完成后,查看表结构如下图所示:
b.利用OLE DB.NET类库访问MySQL数据库
下载安装 MySQL Connector/NET组件 后,导入安装目录下 \Binaries\.NET2.0中的MySql.Data.dll,将该文件复制到项目的bin目录下。并且在项目中添加引用MySql.Data.dll,如下图所示:
引用成功后,可以浏览MySql.Data.dll中的类库,如下图所示:
实例程序代码:
using System.Collections.G
using System.L
using System.T
using MySql.Data.MySqlC
using System.D
namespace MySQLEx
class Program
static void Main(string[] args)
string conString = &server= Database=DBTuser id= password=&;
MySqlConnection mySqlConn = new MySqlConnection(conString);
string sqlStr = &select * from tbl_Student&;//SQL语句
mySqlConn.Open(); ;//打开连接
MySqlDataAdapter msda = new MySqlDataAdapter(sqlStr, mySqlConn);//新建MySqlDataAdapter对象
DataSet ds = new DataSet();//新建Dataset对象
msda.Fill(ds);//填充DataSet对象
Console.WriteLine(&姓名\t\t年龄&);
int cnt = ds.Tables[0].Rows.C//读取行数
for (int ix = 0; ix != ++ix)
Console.WriteLine(&{0}\t\t{1}&, turnString(ds.Tables[0].Rows[ix].ItemArray[1].ToString()),
turnString(ds.Tables[0].Rows[ix].ItemArray[3].ToString()));//循环读取数据 注意索引范围
catch (MySqlException ex)
Console.WriteLine(ex.Message);
catch (Exception ex)
Console.WriteLine(ex.Message);
mySqlConn.Close();//关闭连接
//乱码解决
public static string turnString(string source)
var en = System.Text.Encoding.GetEncoding(&latin1&);
var bs = en.GetBytes(source);
var a = System.Text.Encoding.Default.GetString(bs);
} 运行结果:
以上通过简单但是丰富的例子,练习了.NET框架下访问数据库的方法,作为练习使用控制台应用程序有助于理解几个类的使用方法。关于复杂的SQL语句、windows开发、数据库开发的高级话题在这里暂不做讨论,留待入门后进阶时继续学习。
6.参考资料
(1)《Visual C# 2008数据库编程实训教程》 清华大学出版社 &李志中等编著
(2)System.Data.SqlClient 命名空间 &&/zh-cn/library/8t72t3k4(v=vs.80).aspx
(3)C#连接数据库& & &&&http://blog.csdn.net/candy1232009/article/details/7654927 &
(4)c#连接mysql中文乱码解决方案 &&http://ljl-/blog/1340294
(5)c#连mysql的latin1编码乱码问题 &/archives//article-3797.html
(6)System.Data.OleDb 命名空间 &/zh-cn/library/6d9ew87b(v=vs.80).aspx
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致当前位置 &
SQL Server 2005控制用户权限访问表的操作步骤
SQL Server 2005控制用户权限访问表的操作步骤
&&& 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限,其实这只是SQL Server权限管理很简单的一小块,有些地方并没有深入理解和讲述,只是希望对一些刚入门的童鞋有帮助,那么大家看看一下这篇文章里面的步骤介绍吧!
1、首先进入数据库级别的【安全性】-【登录名】-【新建登录名】
(图1:新建登录名)
2、在【常规】选项卡中,如下图所示,创建登陆名,并设置默认的数据库
(图2:设置选项)
3、在【用户映射】选项卡中,如下图所示,勾选需要设置的数据库,并设置【架构】,点击【确认】按钮,完成创建用户的操作;
(图3:选择对应数据库)
4、现在我们就可以对TestLog数据库中的User表进行权限的设置了,【表】-【 属性】
(图4:选择对应表)
5、在【权限】选项卡中,如下图所示,依此点击【添加】-【浏览】-【选择对象】;
6、在上面点击【确认】后,我们就可以下面的列表中找到对应的权限,如果你还想细化到列的权限的话,右下角还有一个【列权限】的按钮可以进行设置,点击【确认】按钮就完成了这些权限的设置;
7、 现在就使用TestUser用户登陆数据库了,登陆后如下图所示,现在只能看到一个表了:
(图7:效果)
1、在上面的第3步骤中需要注意:如果这里没有选择对应的数据库的话,之后去TestLog数据库中是找不到TestUser。
(图8:找不到TestUser用户)
2、在上面的第3步骤,设置完TestLog数据后,需要点击【确认】按钮,完成创建用户操作,如果这个时候去设置【安全对象】,是无法在【添加】-【特定对象】-【对象类型】-【登陆名】-【浏览】中找到刚刚新建的TestUser用户的;
3、其实在数据库级别的【安全性】创建的用户是属于全局的,当设置了某个数据库,比如TestLog之后,这个用户就会出现在这个数据库的【安全性】列表中。 如果删除TestLog这个用户,会出现下面的提示。删除了后,这个用户就无法登陆了。需要去对应的数据库中删除用户,如果没有删除又创建,是会报错的。
(图9:删除TestUser用户)
4、在第6步的【显式权限】列表中,如果选择了【Control】这个选项,那么在【Select】中设置查询【列权限】就没有意义了,查询就不会受限制了。如果设置【列权限】,在正常情况下会显示下图的报错信息:
(图10:效果)
5、在TestLog数据库的【安全性】-【TestUser】-【属性】-【安全对象】-【添加】-【对象类型】这里有更多关于数据库级别的一些对象类型可以设置;
视频教程列表
文章教程搜索
输入您的搜索字词
提交搜索表单
Sql Server推荐教程
tel:<font color="#FF30058

我要回帖

更多关于 修改server2008数据库 的文章

 

随机推荐