PhanHungSon
Trả lời 15 năm trước
Bạn nên phân biệt giữa SQL Server và tiện ích cụ thể giúp bạn xem/hiệu chỉnh nội dung trong các bảng của database do SQL Server quản lý:
- SQL Server cho phép bạn quản lý các database thông qua lập trình, thường là dùng ngôn ngữ truy vấn SQL để giao tiếp với SQL Server.
- Tiện ích giúp người dùng cuối xem/hiệu chỉnh nội dung các bảng database một cách trực quan sẽ tương tác trực quan với người dùng, nhận yêu cầu của người dùng rồi chuyển thành các lệnh truy vấn SQL và gửi đến SQL Server nhờ thực hiện.
Có thể bạn đang dùng tiện ích đi kèm theo CD cài đặt SQL Server 2005 có tên là "Microsoft SQL Server Management Studio". Đúng là tiện ích này không cho phép bạn nhập nội dung chuỗi văn bản gồm nhiều hàng vào 1 field chuỗi của table do SQL Server quản lý. Tuy nhiên yếu điểm này là của tiện ích "Microsoft SQL Server Management Studio" chứ không phải là khả năng của SQL Server. Thật vậy, field kiểu chuỗi (text, ntext, char, varchar...) trong table của SQL Server có thể chứa chuỗi các ký tự bất kỳ, trong đó có ký hiệu xuống hàng (tương ứng với mã 2 ký tự 13 và 10). Sau đây là đoạn code VB .Net thêm 1 record mới vào bảng "testdb", record mới gồm 3 field văn bản, trong đó field diachi sẽ lưu 1 chuỗi gồm 3 hàng văn bản:
'khai báo các biến cần dùng
Dim MyConString As String
Dim MyConnection As SqlConnection
Dim MyCommand As SqlCommand
Dim hoten As String
Dim namsinh As Integer
Dim diachi As String
'xây dựng chuỗi Connection string dùng DSN
'MyConString = "DSN=DSNMyDatabase"
'hoặc miêu tả chi tiết về SQL server
MyConString = Driver={SQL Server}; Server=HIEPCOMP\HIEPDB; Uid=sa;Pwd=lachan;Database=MyDatabase"
'tạo 1 connection đến database
MyConnection = New SqlConnection(MyConString)
MyConnection.Open()
'Tạo đối tượng Command kết hợp với database
MyCommand = New SqlCommand
MyCommand.Connection = MyConnection
//tạo 3 biến chứa nội dung 3 field cần ghi
hoten = "Nguyễn Văn Hiệp"
namsinh = 1959
//xây dựng 1 chuỗi gồm 3 hàng và chứa vào biến diachi
diachi = "dòng 1" & vbCrLf & "dòng 2" & vbCrLf & "dòng 3"
//Thêm mới 1 record dữ liệu vào bảng testdb
MyCommand.CommandText = "INSERT INTO testdb (hoten, namsinh, diachi) VALUES('" & hoten & "', " & namsinh & ",'" & diachi & "')"
MyCommand.ExecuteNonQuery()