|
|
|
Вставка изображений в бд (ошибка)
|
|||
|---|---|---|---|
|
#18+
При выполнении запроса выдает ошибку: Параметризованный запрос "(@img varbinary(8000))INSERT INTO Kom (image) VALUES (@im" ожидает параметр "@img", который не был указан. Что за параметр, где и как его указать или задать значение? КодForm2 frm2 = new Form2(); frm2.ShowDialog(); string adres = frm2.text; SqlConnection SqlConnection = new SqlConnection(@"Data Source=HOMSTER\SQLEXPRESS; Initial Catalog=SQLBase; Integrated Security=SSPI;"); SqlCommand SqlCommand = new SqlCommand("INSERT INTO Kom (image) VALUES (@img)", SqlConnection); SqlParameter SqlParameter = new SqlParameter("@img", SqlDbType.VarBinary); string FileName = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + adres; Image Image = Image.FromFile(FileName); MemoryStream MemoryStream = new MemoryStream(); Image.Save(MemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); SqlCommand.Parameters.Add(SqlParameter); SqlConnection.Open(); SqlCommand.ExecuteNonQuery(); <<строка ошибки>> SqlConnection.Close(); MemoryStream.Dispose(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 01:05:22 |
|
||
|
Вставка изображений в бд (ошибка)
|
|||
|---|---|---|---|
|
#18+
Что за параметр я понял, но почему выводит сообщение об ошибке? Какой тип следует записать в этой строке: Часть кодаSqlParameter SqlParameter = new SqlParameter("@image", SqlDbType.Binary); Ведь SqlDbType.Binary должен быть верным ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 03:10:53 |
|
||
|
Вставка изображений в бд (ошибка)
|
|||
|---|---|---|---|
|
#18+
ты параметру значение где присваиваеш? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.01.2012, 20:41:18 |
|
||
|
Вставка изображений в бд (ошибка)
|
|||
|---|---|---|---|
|
#18+
Ни где. Похоже я не правильно понял значение данного параметра, зачем все же нужны параметры VALUES и как, что присвоить @image? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 04:57:55 |
|
||
|
Вставка изображений в бд (ошибка)
|
|||
|---|---|---|---|
|
#18+
Немного исправил код, теперь подсвечивается другая строка и выдает сообщение: В GDI+ возникла ошибка общего вида. Что это значит и где я опять накасячил? Код: Form2 frm2 = new Form2(); frm2.ShowDialog(); string adres = frm2.text; byte[] image = new byte[255]; SqlConnection SqlConnection = new SqlConnection(@"Data Source=HELBR\SQLEXPRESS; Initial Catalog=SQLDataBase; Integrated Security=SSPI;"); SqlCommand SqlCommand = new SqlCommand("INSERT INTO Lokomotive (image) VALUES (@image)", SqlConnection); SqlParameter SqlParameter = new SqlParameter("@image", SqlDbType.VarBinary); string fileName = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "/"+@adres; MemoryStream MemoryStream = new MemoryStream(image); Image Image = Image.FromFile(fileName); Image.Save(MemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); <строка ошибки> SqlParameter.Value = image; SqlCommand.Parameters.Add(SqlParameter); SqlConnection.Open(); SqlCommand.ExecuteNonQuery(); SqlConnection.Close(); MemoryStream.Dispose(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.01.2012, 21:40:06 |
|
||
|
Вставка изображений в бд (ошибка)
|
|||
|---|---|---|---|
|
#18+
--MemoryStream MemoryStream = new MemoryStream(image); --Image Image = Image.FromFile(fileName); --Image.Save(MemoryStream, System.Drawing.Imaging.ImageFormat.Jpeg); <строка ошибки> --SqlParameter.Value = image; Зачем присваивать SqlParameter.Value = image ? в sql нет типа image. Вам нужен массив байтов. Ваша ошибка "В GDI+ возникла ошибка общего вида." может быть по следующим причинам 1) надо указать явное конвертирование в jpeg. (ищи это лучше) 2) возможен вариант файл открыт а ты пишешь в него к примеру. (мало вероятно в твоем случае) советы по коду 1) используйте using 2) Image Image = Image.FromFile(fileName); никогда не обзывайте тип даных и имена переменых одинаково! 3) отправляйте в бд в качестве параметра не image а MemoryStream.ToArray(). Откройте мсдн и смотрите, что делает Image.Save ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.01.2012, 09:50:51 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=142&tid=1360093]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
54ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
27ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 307ms |

| 0 / 0 |
