SQL SERVER真差劲!
作者:dawncold 发布时间:July 16, 2011 分类:技术
并不想批评微软的产品,因为如果你用得习惯了,什么工具都不再是困难的。以前从没用过SQLSERVER,只是一直在用MySQL,用phpmyadmin管理起来也很方便。
昨晚下载了SQL SERVER 2008 R2 Express,才64MB,又下载了对应的Management Studio,竟然需要270MB!后者安装很不容易,我的硬盘又很小,安装过程中由于失误的操作,复制了一个SQL实例出来,原本就一个叫SQLEXPRESS,现在多了一个MSSQLEXPRESS,本来就很小的空间又一次被减小了,而且还没装上Management!最后磁盘空间实在不够了,我关闭了win7的系统分页文件,一下子出来2.6GB,幸亏内存够大。
安装完毕后,两个实例都在运行,首先关闭一个。然后配置另一个的TCP/IP协议,这样才能正常连接。这里需要说明一下,在【SQL网络配额协议】中的【实例名下】的【TCP/IP】地址,最后一个是IPALL,写上TCP端口:1433,保存。重启实例的服务就能用management连接上了。
在vb中的一个测试代码:(数据库Test,dbo.Member表中有一行数据,tianzhen\tz_pwd)
最可恶的是我在设计表的时候用了nchar类型,长度用了10,如果字段内容不足10就会加空格补全。所以在vb中对于要和数据库中对比的时候必须把从数据库中得到的数据trim一下。
Imports System.Configuration
Imports System.Data.SqlClient
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim connStr As String = "Data Source = localhost; Initial Catalog = Test; user id = sa; password = tianzhen;"
Dim conn As SqlConnection = New SqlConnection(connStr)
Dim cmd As SqlCommand = New SqlCommand()
cmd.Connection = conn
cmd.CommandText = "SELECT password FROM dbo.Member WHERE username = 'tianzhen'"
Dim reader As SqlDataReader
conn.Open()
reader = cmd.ExecuteReader()
Dim login As Boolean = False
If reader.Read() Then
If TextBox1.Text = Trim(reader("password")) Then
MsgBox("login successfully!")
Else
MsgBox("login fail!!!")
End If
End If
conn.Close()
End Sub
End Class