Проблема при работа с image

LOR
Дата: 26.01.2005 10:39:57
Извините за беспокойство.

ХП выглядит так:

ALTER PROCEDURE dbo.ins_image_steward
@stew_id smallint,
@stew_image image

AS

UPDATE steward
SET stew_image = @stew_image
WHERE stew_id = @stew_id

Клиентская часть:


Dim fs As New FileStream(ImageFile.FileName, FileMode.OpenOrCreate, FileAccess.Read)

Dim MyData(fs.Length) As Byte

fs.Read(MyData, 0, fs.Length)
fs.Close()

Server.Parameters.Clear()


Server.CommandText = "ins_image_steward"
Server.CommandType = CommandType.StoredProcedure
Server.Parameters.Add("@stew_id", StewID)


Server.Parameters.Add("@stew_image", MyData)

Connect.Open()

Server.ExecuteNonQuery() - здесь выдается ошибка

Connect.Close()


Выдает ошибку : A severe error occured on the current command.
The results, if any, should be discarded.





Пожалуйста, помогите с этим разобраться





.
Va1entin
Дата: 26.01.2005 11:16:01
Я подобное делал с обычным ADO,
но тоже не работало, пока не установил
тип параметра varbinary.
LOR
Дата: 26.01.2005 12:23:05
а где его нужно установить?

если в ХП вместо Image то не работает - выдает ту же самую ошибку.
hDrummer
Дата: 26.01.2005 12:55:01
попробуйте примерно так -

SqlParameter wP = new SqlParameter("@par", SqlDbType.Image);
wP.Direction = ParameterDirection.Input;
wP.Value = ...
sda.SelectCommand.Parameters.Add(wP);
Va1entin
Дата: 26.01.2005 13:02:31
ХП написана правильно.

Для ADO
             dim conn
             dim connStr
             dim rs

	connStr = "<строка подключения>"
	set conn = Server.CreateObject("ADODB.Connection")
	conn.open connStr
    
	dim cmd
	set cmd = Server.CreateObject("ADODB.Command")
	cmd.CommandText = "<ХП>"
	cmd.CommandType = 4
	cmd.Parameters.Append cmd.CreateParameter("@id",3,1,4,CLng(1))
	cmd.Parameters.Append cmd.CreateParameter("@blob",205,1,100000,fileData)
	cmd.ActiveConnection = conn
	set rs=cmd.execute

	set cmd = Nothing
	set rs = Nothing
	conn.close
	set conn = nothing

Для ADO.NET как-нибудь так
            'декларации

            com = New SqlCommand
            com.Connection = con
            com.CommandType = CommandType.StoredProcedure
            com.CommandText = "<ХП>"
            com.Parameters.Add("@id", SqlDbType.Int)
            com.Parameters.Add("@blob", SqlDbType.Varbinary)
            com.Parameters.Item("@id").Value = id
            com.Parameters.Item("@blob").Value = blob
LOR
Дата: 26.01.2005 15:56:40
Пробую. Та же ошибка. А можно прислать весь код?
Sa
Дата: 26.01.2005 16:12:19
Нужно, можете прикрепить текстовый файл к своему сообщению.
LOR
Дата: 27.01.2005 09:16:25
После внесенных изменений выглядит так.

Хранимая процедура:

ALTER PROCEDURE dbo.ins_image_steward
@stew_id smallint,
@stew_image Image

AS

UPDATE steward
SET stew_image = @stew_image
WHERE stew_id = @stew_id


Клиентская часть:

Private Sub btnImageNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImageNew.Click





If ImageFile.ShowDialog() = DialogResult.OK Then

Dim fs As New FileStream(ImageFile.FileName, FileMode.OpenOrCreate, FileAccess.Read)
Dim MyData(fs.Length) As Byte



fs.Read(MyData, 0, fs.Length)
fs.Close()

Server.Parameters.Clear()


Server.CommandText = "ins_image_steward"
Server.CommandType = CommandType.StoredProcedure

Server.Parameters.Add("@stew_id", SqlDbType.SmallInt)
Server.Parameters.Add("@stew_image", SqlDbType.VarBinary)

Server.Parameters.Item("@stew_id").Value = StewID
Server.Parameters.Item("@stew_image").Value = MyData





Connect.Open()

Server.ExecuteNonQuery() - ошибка здесь

Connect.Close()


End If
End Sub

Выдается ошибка: A severe error occured on the current command.
The results, if any, should be discarded.
Va1entin
Дата: 27.01.2005 09:32:27
А попробуйте для отладки вызвать через
Server.ExecuteNonQuery()
другую процедуру,
лучше всего без параметров.

В вашем скрипте не видно деклараций
Connect и Server.
Server имеет тип SQLCommand?
Connect имеет тип SQLConnection?
Где эти объекты инициализируются?
Где команде приписывается соединение?
LOR
Дата: 27.01.2005 12:59:57
Да, эти объекты именно такие. Настройка - через окно свойств.