Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C代码在Informix数据库中保存图像?_C#_Database_Informix - Fatal编程技术网

C# 使用C代码在Informix数据库中保存图像?

C# 使用C代码在Informix数据库中保存图像?,c#,database,informix,C#,Database,Informix,如何使用C代码在Informix数据库中保存图像 目前,我无法使用C代码在Informix数据库中保存图像 所有步骤都有效,只有当查询即将执行时,才会抛出错误“E4200:(-201)发生语法错误” 下面是代码 mycon.Open(); int len = Upload.PostedFile.ContentLength; byte[] pic = new byte[len]; HttpPostedFile img = Upload.PostedFile; Response.Write("Siz

如何使用C代码在Informix数据库中保存图像

目前,我无法使用C代码在Informix数据库中保存图像

所有步骤都有效,只有当查询即将执行时,才会抛出错误“E4200:(-201)发生语法错误”

下面是代码

mycon.Open();
int len = Upload.PostedFile.ContentLength;
byte[] pic = new byte[len];
HttpPostedFile img = Upload.PostedFile;
Response.Write("Size of file = " + pic);
img.InputStream.Read(pic, 0, len);
//Upload.PostedFile.InputStream.Read(pic,0,len);
string str = "insert into imageinfo (name,address,photo) values('" + txtname.Text + "','" + txtaddress.Text + "'," + pic + ")";//,photo,@photo
mycmd = new OleDbCommand(str, mycon);
//mycmd.Parameters.AddWithValue("@id", int.Parse(txtid.Text));
mycmd.Parameters.AddWithValue("@name", txtname.Text);
mycmd.Parameters.AddWithValue("@address", txtaddress.Text);
mycmd.Parameters.AddWithValue("@photo", pic);
mycmd.ExecuteNonQuery();
mycon.Close();
lblMessage.Text = "Image details inserted successfully";
Response.Redirect("~/RetriveImage.aspx");
mycon.Close();

首先,您的代码是来自至少两个源的复制/粘贴混乱,因为这毫无意义

您的insert直接具有值-并且您不能像那样将pic放入,抱歉-但是您定义了未使用的参数。2源代码

然后无意识地复制/粘贴代码。您定义了命名参数,但OleDb不支持命名参数(http://social.msdn.microsoft.com/Forums/en-US/vsreportcontrols/thread/637db5d4-e205-489c-b127-7ca14abc48e3/)位置上的唯一参数,这告诉我您曾经通过OleDb在Informix中使用过参数,只是将代码复制/粘贴在一起

  • 删除INSERT语句中的直接数据,放入参数标记
  • 然后根据我发送给您的MS链接使用参数(位置,标记是否为?)
那就行了


有时,它可能要求您实际阅读文档,而不是仅仅将来自不同来源的代码拼接在一起并寻求帮助。

首先,您的代码是来自至少两个来源的复制/粘贴混乱,因为这毫无意义

您的insert直接具有值-并且您不能像那样将pic放入,抱歉-但是您定义了未使用的参数。2源代码

然后无意识地复制/粘贴代码。您定义了命名参数,但OleDb不支持命名参数(http://social.msdn.microsoft.com/Forums/en-US/vsreportcontrols/thread/637db5d4-e205-489c-b127-7ca14abc48e3/)位置上的唯一参数,这告诉我您曾经通过OleDb在Informix中使用过参数,只是将代码复制/粘贴在一起

  • 删除INSERT语句中的直接数据,放入参数标记
  • 然后根据我发送给您的MS链接使用参数(位置,标记是否为?)
那就行了


有时,它可能要求您实际阅读文档,而不是仅仅将不同来源的代码拼接在一起并寻求帮助。

您尝试过什么吗?我想不会。请阅读并多次尝试,但它抛出了一些错误“E4200:(-201)发生语法错误”。请编写代码、错误消息和有关特定问题的更多信息。好的,修复语法错误。从文档开始-您使用OleDb,OleDb不使用命名参数。插入有值,但定义参数。这闻起来像是“无知的,只是无意识地将代码复制/粘贴在一起,现在又在抱怨,从未学过编程”。如果这听起来很刺耳,很抱歉,但这段代码闻起来好像来自两个来源。Informix数据库中ImageInfo.Photo列的类型是什么?很可能无法将图片的字符串表示形式转换为该类型。或者,可能是您的语句太长(部分取决于您正在使用的Informix版本——客户端代码)。要执行的操作取决于类型信息。如果您使用的是BLOB类型(与CLOB、BYTE或TEXT相反),则可以使用
FILETOBLOB('client-file','client')
函数代替
pic
的字符串版本。。。或者…你试过什么吗?我想不会。请阅读并多次尝试,但它抛出了一些错误“E4200:(-201)发生语法错误”。请编写代码、错误消息和有关特定问题的更多信息。好的,修复语法错误。从文档开始-您使用OleDb,OleDb不使用命名参数。插入有值,但定义参数。这闻起来像是“无知的,只是无意识地将代码复制/粘贴在一起,现在又在抱怨,从未学过编程”。如果这听起来很刺耳,很抱歉,但这段代码闻起来好像来自两个来源。Informix数据库中ImageInfo.Photo列的类型是什么?很可能无法将图片的字符串表示形式转换为该类型。或者,可能是您的语句太长(部分取决于您正在使用的Informix版本——客户端代码)。要执行的操作取决于类型信息。如果您使用的是BLOB类型(与CLOB、BYTE或TEXT相反),则可以使用
FILETOBLOB('client-file','client')
函数代替
pic
的字符串版本。。。或者…是的,现在我拿着我的水晶球,做了一个神奇的仪式来看看你漂亮的清理过的代码,上面有完整的错误报告,就像一个专业的我更新了一样?或者你希望我免费到你家来做你的工作吗?是的,现在我拿着我的水晶球,做了一个神奇的仪式来看看你漂亮的清理代码,上面有完整的错误报告,就像一个专业人士在更新一样?还是你希望我免费到你家来为你工作?