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 For
大家在实际工作学习C#的时候,可能会问:为什么我们要为一些已经存在的功能(比如Windows中的一些功能,C++中已经编写好的一些方法)要重新编写代码,C#有没有方法可以直接都用这些原本已经存在的功能呢?答案是肯定的,大家可以通过C#中的DllImport直接调用这些功能。
DllImport所在的名字空间 using System.Runtime.Inte ......
对于多态,还必需提一个C#中的关键字:new。前面提到,对于virtual方法,JIT会确定实例的实际类型然后决定调用什么方法。但是如果派生类中new关键字修饰方法,则它向CLR澄清此派生类中的方法与基类中的方法毫无关系,以下代码最终调用是基类的introduce方法:
Code
class Program
{
static vo ......