C# 在ASPX web窗体上用作图像的varbinary的SQL输出参数
我试图检索存储在我的表中的徽标,并将图像从数据库显示到我的aspx网页。我在SQL存储过程中有输出参数,它输出名称和varbinary数据类型。在SQL表中,第一列是名称,它是NVARCHAR(100),第二列是图像徽标。将SQLServer用于DBMS 例如,Client1的名称和徽标如下所示:0x89504E470D0A1A0A0000000D4948445200000C8000000C8020000000223A39C9000000704897300002E230002E2300178A53F7600002063485D00007A2500008083000F9FF000080E900075300000EA600003A980000176F925FC5460000129944415478DAEC9D79741455BE80BFEA4B0B09092124806149D80504C202E0FA044591F500E2809C0047715E0800E080E08070507070E8FC540707070707070404040465 要插入到表中的SQL代码示例:C# 在ASPX web窗体上用作图像的varbinary的SQL输出参数,c#,sql,sql-server,image,C#,Sql,Sql Server,Image,我试图检索存储在我的表中的徽标,并将图像从数据库显示到我的aspx网页。我在SQL存储过程中有输出参数,它输出名称和varbinary数据类型。在SQL表中,第一列是名称,它是NVARCHAR(100),第二列是图像徽标。将SQLServer用于DBMS 例如,Client1的名称和徽标如下所示:0x89504E470D0A1A0A0000000D4948445200000C8000000C8020000000223A39C9000000704897300002E230002E2300178A5
INSERT INTO dbo.client
SELECT 'Client1', BulkColumn
FROM Openrowset( Bulk 'F:\logo.png', Single_Blob) as img
在C#代码中调用的存储过程:
C#-Index.aspx.cs:
public static void getClientInfo()
{
string connectionstring = ConfigurationManager.ConnectionStrings["SQLConString"].ConnectionString;
SqlConnection cn = new SqlConnection(connectionstring);
cn.Open();
SqlCommand cmd = new SqlCommand("dbo.sp_ui_getClientNameLogo", cn);
cmd.Parameters.Add(new SqlParameter("@ClientName", SqlDbType.NVarChar, 100, ParameterDirection.Output, false,0, 10, "ClientName", DataRowVersion.Default, null));
cmd.Parameters.Add(new SqlParameter("@Logo", SqlDbType.VarBinary, 1000, ParameterDirection.Output, false, 0, 10, "Logo", DataRowVersion.Default, null));
var da = new SqlDataAdapter(cmd);
cmd.CommandType = CommandType.StoredProcedure;
var dt = new DataTable();
da.Fill(dt);
cn.Close();
clientName = cmd.Parameters["@ClientName"].Value.ToString();
**logoBinary = cmd.Parameters["@Logo"].Value. //THIS IS WHERE I AM STUCK**
}
如何获取徽标的输出变量并将其存储为图像,以便在我的网页上使用???尝试以下代码
在aspx页面上
<img id='yourID' runat='server'/>
试试这个代码
在aspx页面上
<img id='yourID' runat='server'/>
您使用的是哪种数据库管理系统?(该代码是特定于产品的。也许?)使用SQL Server您使用的是哪种dbms?(该代码是特定于产品的。也许?)使用SQL Server我应该把它放在哪里?“yourfilename”是什么?假设您想将图像保存在C驱动器上,如果您的图像是jpg,则选择“C:\\Folder\\yourfilename.jpg”。对不起,我不想将图像保存在任何地方。我已将图像存储在表中的数据库中。我想从数据库中检索图像并显示在我的ASPX网页上?徽标已经从它的位置导入到sql表中。我还没有得到任何代码,因为我不知道如何将它从数据库导入C#end。请看上面的问题-我已经在logobary=cmd.Parameters[“@Logo”].Value的地方做了评论//这就是我的位置给你img标签ID和属性runat='server'我把它放在哪里?“yourfilename”是什么?假设您想将图像保存在C驱动器上,如果您的图像是jpg,则选择“C:\\Folder\\yourfilename.jpg”。对不起,我不想将图像保存在任何地方。我已将图像存储在表中的数据库中。我想从数据库中检索图像并显示在我的ASPX网页上?徽标已经从它的位置导入到sql表中。我还没有得到任何代码,因为我不知道如何将它从数据库导入C#end。请看上面的问题-我已经在logobary=cmd.Parameters[“@Logo”].Value的地方做了评论//这就是我要给你的img标签ID和属性runat='server'
File.WriteAllBytes(yourfilename, (byte[])(cmd.Parameters["@Logo"].Value));
byte[] logoBinary = (byte[])(cmd.Parameters["@Logo"].Value);
string base64string= Convert.ToBase64String(logoBinary, 0, logoBinary.Length);
yourID.Src = "data:image/jpg;base64," + base64String;