【问题标题】:Adding image as a parameter of a method添加图像作为方法的参数
【发布时间】:2014-12-09 18:35:59
【问题描述】:

我有一个带有数据库的 C# winform 应用程序。在数据库中,我有一个名为 Airlines 的 DataTable。此数据表的列是“姓名”、“国家”、“电话”、“电子邮件”、“徽标”。

我想创建一个在 Windows 窗体应用程序中使用的方法。这个方法会

public int AddNewAirline (string name, string country, string telephone, string email, xxxxx)

参数将取自 Windows 窗体文本框,徽标由 Browse... 选项获取。我已经创建了方法,SQL操作是:

"INSERT INTO Airlines VALUES('"+name+"','....blah blah blah.... ¿but what about the logo? )";

所以我的主要问题是:我应该在方法头的xxxxxx 部分添加什么参数,以及SQL 操作应该是什么样的?我有点搞砸了,我在互联网上找不到解决方案。

【问题讨论】:

  • 这取决于您要保存在数据库中的图像的内容。是图像的路径还是图像的实际字节数?
  • 您想将图像的实际字节存储在数据库中,还是将指向图像的指针存储在硬盘驱动器或服务器中?
  • 我有通过浏览计算机文件夹找到的图像路径。我认为这不是实际的字节,我认为这是另一种选择。 @mreyeros Murven

标签: c# sql winforms


【解决方案1】:

为了将图像的路径存储在数据库中,您可以像保存其他参数一样进行操作:

public int AddNewAirline (string name, string country, string telephone, string email, string logoPath)

您的 SQL 插入语句缺少列名。试试这个:

"INSERT INTO Airlines ('Name', 'Country', 'Telephone', 'Email', 'Logo') " +
"VALUES ('" + name + "', '" + country + "', '" + telephone + "', '" + email + "', '" + logoPath + "')"

您应该知道,在采用这种方法时,可能会移动或删除图像,从而使您的数据库中的文件路径不再存在。为了解决这个问题,您可以将图像复制到安全位置并在数据库中引用该副本,或者您可以将图像的实际字节作为 BLOB 存储在数据库中。

【讨论】:

  • 非常感谢!它工作正常,我以为没有人会回答。非常感谢@Ben
猜你喜欢
  • 2013-04-18
  • 1970-01-01
  • 2014-05-31
  • 2016-12-14
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 2020-03-25
  • 2019-11-26
相关资源
最近更新 更多