尝试使用C#将图像插入到filemaker容器中

时间:2013-09-26 14:42:33

标签: c# sql image odbc filemaker

我需要使用insert语句将图像插入到filemaker容器中,虽然odbc文档看起来很模糊,但没有明确的示例,我试图让它在一个简单的级别上工作,如下所示:

sqlstr的文本可视化工具中显示的命令行:

INSERT INTO Answer ("UserID","RECNO","RECTYPE","RECSEQ",PutAs(NCICImage, 'JPEG'))
VALUES('hcd','0','0','1',?)

这是我写记录的功能:

static void C2Search_WriteRecord(string sqlstr, Image img = null)
{
    OdbcCommand cmd = new OdbcCommand(sqlstr);
    if (img != null)
    {
        cmd.Parameters.AddWithValue("?", OdbcType.Image).Value = img;
    }
    cmd.Connection = connData;
    try
    {
        cmd.ExecuteNonQuery();
    }
     catch (Exception ex)
    {
        logWriteLine(DateTime.Now.ToString() + ": " + ex.Message);
    }
}

当我使用上面的sql语句执行我的程序时,我得到以下消息,我很困惑:

从对象类型System.Drawing.Bitmap到已知的托管提供程序本机类型不存在映射。

如何根据需要进行此项工作?

1 个答案:

答案 0 :(得分:0)

尝试重写SQL语句(我假设NCICImage是目标字段):

INSERT INTO Answer ("UserID","RECNO","RECTYPE","RECSEQ", "NCICImage")
VALUES('hcd', '0', '0', '1', PutAs(?, 'JPEG'))

然后绑定图像并确保它是真正的JPEG字节流。