Visual Studio, C#, SQL 2005 sunucusu. .dbml tablo veri türünü .cs dosyasıyla eşleştirmeye çalışıyorum.Görüntü, bir görüntünün veritabanına yüklenmesine izin vermektir.Şu ana kadar çalışmıyor ... Sorun, dosya türü ile ilgili görünüyor fileContent sütunu. birkaç farklı varyasyonlarını denedi, ama hiçbiri çalıştık.Bunun için hangi Datatype kullanılacak, böylece görüntü SQL Server'a yükleyebilir?
<Column Name="FileName" Type="System.String" DbType="NVarChar(100)" CanBeNull="true" />
<Column Name="FileType" Type="System.String" DbType="NVarChar(100)" CanBeNull="true" />
<Column Name="FileSize" Type="System.int32" DbType="int" CanBeNull="true" />
<Column Name="FileContent" Type="System.Data.Linq.Binary" DbType="varbinary(MAX)" CanBeNull="true" />
SQL Server Sütunlar
Applicant_PK (PK, int, notnull)
FileName (boş nvarchar (100),)
FileType (nvarchar (100), null)
FileSize (int, null)
FileContent (varbinary (maks), boş)
void CreatePreApplication()
{
Pre_Application = new PreApplication();
Pre_Application.FileName = Path.GetFileName(ctrFile.PostedFile.FileName);
Pre_Application.FileType = ctrFile.PostedFile.ContentType;
Pre_Application.FileSize = ctrFile.PostedFile.ContentLength;
byte[] fileContent = new byte[ctrFile.PostedFile.ContentLength];
ctrFile.PostedFile.InputStream.Read(fileContent, 0, ctrFile.PostedFile.ContentLength);
Pre_Application.FileContent = fileContent;
public class PreApplication
{ kamu int VeritabanıKimliği {get; set; } public String DosyaAdı {get; set; } public String Dosya Türü {get; set; } public int FileSize {get; set; } public byte [] FileContent {get; set; } kamu ön-uygulama() bu bakmak için
{
PreApplicationsDataContext db =
new PreApplicationsDataContext(
"Data Source=THESQLSERVER;Initial Catalog=THECONNECTIONSTRING;Integrated Security=True");
tblPreApplication preApp = new tblPreApplication();
preApp.FileName = FileName;
preApp.FileType = FileType;
preApp.FileSize = FileSize;
preApp.FileContent = (byte[])FileContent;
try
{
db.tblPreApplications.InsertOnSubmit(preApp);
db.SubmitChanges();
DatabaseId = preApp.Applicant_PK;
return preApp.Applicant_PK;
}
catch
{
DatabaseId = 0;
return 0;
}
}
teşekkürler. Programlamada bir acemiyim, bu yüzden bana bir soru sorarsanız, lütfen bunu aklınızda bulundurun.
Bize hangi hatayı aldığınızı veya hangi belirtilerin olduğunu söyler misiniz? –
Type = "System.Byte []" ve DbType = "image" denedim ve NullRefferenceExceptions kullanıcı kodu tarafından işlenmedi.
Nesne başvurusu, bir nesnenin iznine ayarlanmamış.
Nesne örneği oluşturmak için "yeni" anahtar sözcüğünü kullanın. Yöntemi aramadan önce nesnenin boş olup olmadığını kontrol edin. – Javier