Tôi dùng CSDL SQL2000, các bạn cho mình hỏi nếu dùng trường lưu file ảnh .jpg thì dùng trường đó bằng kiểu gì? Xin cảm ơn!
Tôi dùng CSDL SQL2000, các bạn cho mình hỏi nếu dùng trường lưu file ảnh .jpg thì dùng trường đó bằng kiểu gì? Xin cảm ơn!
CSDL không thể lưu trực tiếp được các đối tượng thực thể như là Aduio, Image,... Nếu bạn muốn dùng CSDL để lưu trữ ảnh thì bạn chỉ có thể dùng để lưu trữ đường dẫn tới file ảnh hay bất cứ file nào khác mà bạn muốn. Ví dụ nếu bạn muốn tạo một có sở dữ liệu lưu một trang ảnh chẳng hạn, bạn có thể thành lập một CSDL có một Table với các trường như: ImageID, URL, height, width,.. Để miêu tả đối tượng đó.
Chúc bạn thành công!!!
Cảm ơn các bạn nhiều!!
Mình đã tìm rồi, có khá nhiều thuật toán hay về cái này. Bởi trước đây mình ko nghĩ là có cái nè nên cũng lười tìm hiểu luôn, ai dè mình sai quá.
Một lần nữa cảm ơn rất nhiều, mình lại có một bài học bổ ích!!1
Bạn nói đúng, mình cũng có hỏi sơ qua thì lưu trong CSDL là một kiểu nhị phân. Chuyển từ fie ảnh đó vào nhị phân sau đó trích lại. Nhưng vấn đề là cụ thể nó như thế nào thì cũng chưa rõ đươc. Mong các bạn có kinh nghiệm truyền đạt. Xin cảm ơn các bạn đã quan tâm.
cnn = new SqlConnection(connString);
cnn.Open();
string strSQL = "Insert Into Products(ProductName,Image,ImgLength,ImgType) values (@ProductName,@Image,@ImgLength,@ImgType)";
cmd = new SqlCommand(strSQL, cnn);
param = new SqlParameter("@ProductName", SqlDbType.VarChar);
param.Value = txtProductName.Text;
cmd.Parameters.Add(param);
param = new SqlParameter("@Image", SqlDbType.Image);
param.Value = content;
cmd.Parameters.Add(param);
param = new SqlParameter("@ImgLength", SqlDbType.BigInt);
param.Value = length;
cmd.Parameters.Add(param);
param = new SqlParameter("@ImgType", SqlDbType.VarChar);
param.Value = type;
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();
cnn.Close();
uhm, khi bạn muốn lưu ảnh vào trong CSDL thì đừng nên lưu file trực tiếp mà bạn hãy lưu đườn dẫn file lên ấy. Trong vd của bạn sinhviencongnghe mình sửa lại là
.....
param = new SqlParameter("@Image", SqlDbType.Varchar);
param.value = UploadToServer(txtFilename.text);
cmd.parameters.add(param);
Hàm UploadToServer bạn có thể viết code để upload file lên sever và trả lại string là server.mappath đến file mà bạn vừa up lên
Hi`hi`
Người ta hỏi mình lưu ảnh vào CSDL mà, đâu hỏi giái pháp nào hợp lý hơn đâu.
Mình chỉ trả lời đúng những gì người ấy hỏi do nhu cầu mỗi người khác nhau
Bookmarks