gpt4 book ai didi

c# - 为此使用什么数据类型以便图像可以上传到 SQL Server?

转载 作者:太空狗 更新时间:2023-10-29 20:40:43 26 4
gpt4 key购买 nike

Visual Studio、C#、SQL 2005 服务器。我正在尝试将 .dbml 表数据类型与我的 .cs 文件相匹配。目标是允许将图像加载到数据库中。到目前为止它不起作用。问题似乎与文件类型有关FileContent 列。我尝试了几种不同的变体,但都没有奏效。

<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 列
Applicant_PK(PK,int,notnull)
文件名(nvarchar(100),null)
文件类型(nvarchar(100),null)
文件大小(int,null)
文件内容(varbinary(max),null)

 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

{ public int DatabaseId { 得到;放; } 公共(public)字符串文件名 { 得到;放; } 公共(public)字符串文件类型 { 得到;放; } public int FileSize { 得到;放; } public byte[] FileContent { 得到;放; } 公共(public)预申请()

 {
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;
}
}

感谢您看到这里。我是编程新手,所以如果你问我问题,请记住这一点。

最佳答案

我看到了问题...您正在创建数据库连接并尝试插入构造函数。

你应该是这样定义的类

public PreApplication() {
}

public DoInsert {
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;
}
}

然后是你的执行函数

void CreatePreApplication() {
Pre_Application p = new PreApplication();
p.FileName = Path.GetFileName(ctrFile.PostedFile.FileName);
p.FileType = ctrFile.PostedFile.ContentType;
p.FileSize = ctrFile.PostedFile.ContentLength;
byte[] fileContent = new byte[ctrFile.PostedFile.ContentLength];
ctrFile.PostedFile.InputStream.Read(fileContent, 0, ctrFile.PostedFile.ContentLength);
p.FileContent = fileContent;

//do the insert after you have assigned all the variables
p.DoInsert();
}

关于c# - 为此使用什么数据类型以便图像可以上传到 SQL Server?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2336491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com