您的位置:首页 > 数据库

C#数据库编程基础之数据库配置及部分操作数据库技巧

2009-12-25 16:07 363 查看
1.要搞数据库编程必须要懂得配置数据库,有几点要提到:

(1) 默认情况下sql server数据库只允许以windows身份登录(即默认你是该电脑的主人,以这种身份登录可

以对数据库服务器拥有最高权限),你可以开启其SQL SERVER 和 windows混合登录模式(就sql server 2000而

言是在企业管理器里的菜单栏"操作"-"属性"里"安全性"里设置),设置完后要重启服务(windows里除了一般程

序外,还有以服务状态存在的程序,服务只是在后台默默运行,在开机时会自动启动那些被设置为启动状态的服

务,可以用c#编写这类程序,比如一些木马都属于这类程序,而一般随机启动程序实在用户登录后才开始启动),

而以SQL SERVER身份登录需要事先在服务器里建一个新登录名(在服务器的安全性下右击--新建登录,在常规

选项里设置该登录的名称及sql server身份验证的密码,在数据库访问项里,为该登录指定其可以访问的数据

库,在下面选中db_owner,说明该登录是该数据库的拥有者)。

此外在某个数据库--安全性--用户也可以为该数据库指定一个本数据库的拥有者(这个拥有者必须为服务器的安全性下已经新建用户)

(2) 从本机登录服务器的话既可以用windows身份登录也可以用SQL SERVER身份登录,如果要远程登录别的电
脑的sql server服务器的话只能用SQL SERVER身份登录,且要满足两个条件:

(2.1) 远程服务器要在sql server的外围配置(就sql server 2005而言,2000为服务器实用工具)里设置其TCP/IP协议为启动状态。

(2.2) 远程服务器要在安全性里安以上方法为你新建一个sql身份的登录及密码。

2.数据库操作技巧

(1) CLR(.NET的公共语言运行时)类似于java的虚拟机,最主要的作用是将.NET编写的代码解释为各种系统所能识别的代码。

(2) 我们编写的应用程序除了窗口中的图标外,可以设置其应用程序的图标,方法是在解决方案里双击属性Properties,在"应用程序"里设置。

(3) 我们来设计一个程序,类似于腾讯QQ,大体上是在登录窗口输入正确的密码才能进入显示数据库里数据的窗口,登陆窗口关闭,这样求掌握以下知识点:

(3.1) Application.Run() 与 Form.Show() 的区别,前者是独立运行一个窗口,如果是在Main()函数里,则程序的一开始就运行此窗口,而

Form.Show()是依赖于别的窗口(例如Application.Run()运行的窗口)的窗口,不是独立的,就是一个副窗口,只有主窗口存在,它才可以存在,

如果是在Main()函数里直接运行,那么会在程序启动时,一闪而过,因为它没有可以依赖的主窗口。

(3.2) 在C#编程里,可以不用为类创建引用,而直接使用其实例调用该类的方法、属性、字段等,例如:

new Form1().DialogResult;、Application.Run(new Form1());等,但注意在别的类中调用这些方法、属性、字段时,要注意这些成员前

面的修饰符,以确保这些成员可以被访问。

(3.3) DataGridView控件的使用及Datatable类与sqldatareader类的关系

我们先来设计显示数据库里数据的窗口,用到DataGridView控件,大体代码如下:

先声明sqlconnection,sqlcommand,sqldatareader,datatable及数据库连接、查询语句,这些就不说了

主要是: mytable.Load(myreader);因为sqldatareader对象只能从数据库里一行一行的读取,所以要显示所

有的数据就要把datareader对象读取的每一行都存储在datatable(在内存中生成一个虚拟的表)对象中。

DataGridView.Datasource=mytable; 把主要用来显示数据库里所有数据的的控件DataGridView的数据源指向datatable。

下面设计登录窗口,主要有帐号,密码文本框和一个按钮组成,数据库连接及查询语句就不说了

主要是在登录成功条件下要加一个登录成功的标识语句(如this.DialogResult=DialogResult.Ok或先声明一个公共变量,如public int

denglu; 然后在此处使denglu=9999)等,别忘路加上使本窗口关闭的语句,再到Main()函数里加上这个判断(即只有登录成功才能运行显

示数据库数据的窗口,当然之前要先运行登录窗口)

Main()函数里的大体代码如下:

Form2 form2 = new Form2;
Application.Run(form2);
if (this.DialogResult=DialogResult.Ok或form2.denglu=9999)
{
Application.Run(new Form1());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: