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