Mình có database trong SQL
CREATE TABLE VE
(
MaVe INT IDENTITY PRIMARY KEY,
DoiTuong NVARCHAR(50),
ThoiGian NVARCHAR(20),
GiaVe FLOAT
)
Khi sử dụng SqlDataReader thì nhận thông báo:Specified cast is not valid
Tại dòng ve_dto.GiaVe = (float)dr[“GiaVe”];
Làm sao để giải quyết mọi người?Cảm ơn.
Specified cast is not valid -- Khi thông đọc dữ liệu float từ SQL tới C#
bạn thử dùng ve_dto.GiaVe = dr["GiaVe"].ToString()
xem được không .
Sẵn cho em hỏi cách phát sinh mã tự động không.
Ví dụ với MaVe INT IDENTITY PRIMARY KEY.Dùng indentity thì phát sinh được với kiểu int.vậy với kiểu chuỗi(nchar) thì làm sao. Coi trên này mà ko tìm ra:http://www.w3schools.com/sql/sql_autoincrement.asp. Cảm ơn ^^
Theo a dc biết k biết đúng không thì nchar
SQL Server không hỗ trợ tự tăng với nchar
. Nếu muốn e nên kết hợp bằng cách phát sinh kiểu Int
sau đó convert sang kiểu nchar
, hoặc e có thể dùng công chuỗi như mahoadonxxx
với xxx
là kiểu int
là số e tự phát sinh.
Nếu em muốn không bao giờ bị trùng thì dùng kiểu uniqueidentifier. Nó sẽ tự sinh 1 dãy gồm 32 kí tự, chia làm 8 cặp.
Một cách khác, cách này không được performance cho lắm với data lớn, viết hàm random sinh chuỗi bao gồm cả chữ và số, khi insert thì rà một lượt qua database nếu chưa có chuỗi này thì cho phép insert, tồn tại thì gọi lại hàm random, cái này có thể dùng while.