2012-12-03 72 views
2

我對C#.Net相當陌生。我們正在大學教它,並使用Visual Studio創建窗體。作爲這個主題的一部分,我們使用數據庫,表格和數據集。如何在Visual Studio 2010的數據庫中包含圖像

我打開了一個新的Windows窗體項目,並立即添加了一個新的數據庫。我想創建的表格將有2列 - ImageID和圖像本身。我以什麼方式將圖像添加到框中?我試過完整路徑,相對路徑和拖動圖像,但無論我做什麼,我得到了同樣的錯誤消息....

無效值
在這個單元中的變化值無法識別爲有效。 .NET框架數據類型:字節[]
錯誤消息:不能使用結果窗格該字段數據設置爲NULL以外 值
類型適合於數據類型或按ESC的值取消 變化

我怎樣才能在那裏有圖像?我只是不知道如何在表格中使用圖像數據類型。任何幫助深表感謝。

+1

歡迎來到[so],你可以輕鬆地google一個教程https://www.google.com.au/search?q=store+images+in+SQL+server+winforms –

+0

感謝您的答覆。我看過很多教程,但它們都比我所教的要複雜得多,而且現在真的超出了我的理解範圍。 使用visual studio的內置功能,我可以使用我的表創建一個數據集,VS將基本上創建所有我的標籤,文本框和代碼來從我的表中檢索數據。這就是我想要做的,但與我的表中的圖像。我不需要從程序中存儲圖像;我只是想從我的表格中顯示到一個圖片框。 VS不會接受表格中的任何內容作爲數據類型圖像。 – user1874042

+0

winforms ...數據集...很高興看到課程跟上...(咳嗽) –

回答

0

一個更簡單的方法是將圖像存儲在文件系統中,並且只將其路徑存儲在數據庫中。基本上你定義一個基礎文件夾:

string baseFolder = "c:\Program Files\MyApp\Images"; 

,並用它相對路徑存儲在數據庫中:

INSERT INTO ImagesTable (Name, Path) 
Values ('German Shepherd', 'Dogs\german-shepherd.jpg') 

然後,當您需要檢索的圖像,你可以做這樣的:

string path = Path.Combine(baseFolder, 'Dogs\german-shepherd.jpg'); 
Image img = Image.FromFile(path); 

在SO以下問題,你可以找到關於這種方法的優點和缺點的詳細信息:

0

可以存儲圖像SQL Server 2008中就產生具有列數據類型「圖像」的數據庫表。現在來自.net代碼的 使用文件上傳控件選擇圖像文件,然後在將圖像數據插入數據庫之前將圖像參數轉換爲字節[]。

相關問題