powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / получить исходящее значение после запуска оракловой процедуры
23 сообщений из 23, страница 1 из 1
получить исходящее значение после запуска оракловой процедуры
    #38270681
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть процедура
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
 Dim x As Exception
        Dim Ds As New DataSet()
               Dim Oraclecon As New OracleConnection(oradb)
        Oraclecon.Open()
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "ocs.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
        myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Varchar2))
        myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Char)).Direction = ParameterDirection.Output
        Dim MyDA As New OracleDataAdapter(myCMD)
        Try
            MyDA.Fill(Ds)
        Catch x
            MessageBox.Show(x.Message.ToString)
        End Try
        DataGridView2.DataSource = Ds.Tables(0)
        Oraclecon.Close()



процедура у оракла
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 Dim x As Exception
        Dim Ds As New DataSet()
        Dim oradb As String = "Data Source=jamocs;User Id=ocs;Password=_ocs;"
        Dim Oraclecon As New OracleConnection(oradb)
        Oraclecon.Open()
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "ocs.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
        myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Varchar2))
        myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Char)).Direction = ParameterDirection.Output
        Dim MyDA As New OracleDataAdapter(myCMD)
        Try
            MyDA.Fill(Ds)
        Catch x
            MessageBox.Show(x.Message.ToString)
        End Try
        DataGridView2.DataSource = Ds.Tables(0)

        Oraclecon.Close()



никак не могу получить данные, подскажите где я ошибся?
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38270688
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
сорри
Код: plsql
1.
2.
3.
4.
5.
create or replace procedure ocs.testvbnet(n in number,outora out msg.testvb.id%type)
as
begin 
select id into outora from msg.testvb where seqnum = n;
end;


вот оракловая процедура
работаю в VB.NET
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38270694
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проверяю в оракле все работает
Код: plsql
1.
2.
3.
4.
5.
6.
declare 
out number;
begin
ocs.testvbnet(n => 3,outora =>out);
dbms_output.put_line(out);
end;
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38270879
sphinx_mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bombimbomесть процедура
Код: vbnet
1.
2.
3.
4.
5.
...
   myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
   myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Varchar2))
   myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Char)).Direction = ParameterDirection.Output
...



никак не могу получить данные, подскажите где я ошибся?Вас ни разу не смущает, что для вызова процедуры с 2-мя параметрами вы пишете код, в котором инициализируете процедуру с 3 параметрами?
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271019
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sphinx_mv,

сорри забыл убрать одну строчку... я уже просто от отчаяния влепил ее туда ))
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271020
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне кажется я забыл executenonquery...
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271049
SerP1983
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, у вас data adapter.fill. Эксепшены есть какие- нибудь?
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271311
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SerP1983,

wrong number or types of arguments in call to testvbnet
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271315
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
когда убираю лишнюю строчку
эту строчку
Код: vbnet
1.
 myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Varchar2))



пишет numeric or value error character string buffer too small
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271363
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: c#
1.
2.
3.
4.
myCMD.CommandText ="ocs.testvbnet"
myCMD.CommandType = CommandType.StoredProcedure
OracleCommandBuilder.DeriveParameters(myCMD) // или как там в васике...
myCMD.Parameters["n"].Value = 4


и будет Вам счастие...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271514
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,

всеравно ругается на ошибку
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
 Dim x As Exception
        Dim Ds As New DataSet()
              Dim Oraclecon As New OracleConnection(oradb)
        Oraclecon.Open()
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "ocs.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        OracleCommandBuilder.DeriveParameters(myCMD)
        myCMD.Parameters("n").Value = 4
        'myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
        'myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Varchar2))
        myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Char)).Direction = ParameterDirection.Output
        Dim MyDA As New OracleDataAdapter(myCMD)
        Try
            MyDA.Fill(Ds)
        Catch x
            MessageBox.Show(x.Message.ToString)
        End Try
        DataGridView2.DataSource = Ds.Tables(0)

        Oraclecon.Close()



попробовал еще такой вариант
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
Dim Ds As New DataSet()
          Dim Oraclecon As New OracleConnection(oradb)
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "ocs.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        Dim cat As OracleParameter = New OracleParameter
        myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
        cat.OracleDbType = OracleDbType.NVarchar2
        cat.Direction = ParameterDirection.Output
        cat.Size = 200
        myCMD.Parameters.Add(cat)
        Oraclecon.Open()
        Dim resultcat As String = ""
        Dim dr As OracleDataReader = myCMD.ExecuteReader()
        While dr.Read()
            resultcat = dr.GetString(0)
        End While
        dr.Close()
        Oraclecon.Close()
        DataGridView2.DataSource = resultcat


тут не ругается и ничего не выдает
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271692
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
больше нравится такой вариант
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
 Dim Ds As New DataSet()
        Dim oradb As String = "Data Source=jamocs;User Id=ocs;Password=_ocs;"
        Dim Oraclecon As New OracleConnection(oradb)
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon

        myCMD.CommandText = "ocs.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        Dim cat As OracleParameter = New OracleParameter
        myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
        cat = myCMD.Parameters.Add("outora", OracleDbType.NVarchar2, 20)
        cat.Direction = ParameterDirection.Output
        Oraclecon.Open()
        myCMD.ExecuteNonQuery()
        Dim resultcat As String
        resultcat = myCMD.ExecuteScalar()
        ''Dim dr As OracleDataReader = myCMD.ExecuteReader()
        'While dr.Read()
        '    resultcat = dr.GetString(0)
        'End While
        'dr.Close()
        TextBox1.Text = resultcat
        Oraclecon.Close()



но тут тоже ни ошибок ни передачи
подскажите может что-то дописать нужно?
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271718
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
всеравно ругается на ошибку
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
    Dim  xAs  Exception
           Dim  DsAs  New  DataSet()
                 Dim  OracleconAs  New  OracleConnection(oradb)
           Oraclecon.Open()
           Dim  myCMDAs  New  OracleCommand()
           myCMD.Connection = Oraclecon
           myCMD.CommandText ="ocs.testvbnet"
           myCMD.CommandType = CommandType.StoredProcedure
           OracleCommandBuilder.DeriveParameters(myCMD)
           myCMD.Parameters("n").Value = 4
           'myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
           'myCMD.Parameters.Add(New OracleParameter("outora", OracleDbType.Varchar2))
          myCMD.Parameters.Add(New  OracleParameter("outora", OracleDbType.Char)).Direction = ParameterDirection.Output // задлянафига!!! Ж8-/
           Dim  MyDAAs  New  OracleDataAdapter(myCMD)
           Try
               MyDA.Fill(Ds)
           Catch  x
               MessageBox.Show(x.Message.ToString)
           End  Try
           DataGridView2.DataSource = Ds.Tables(0)
  
           Oraclecon.Close()



Вы хоть смотрели что в myCMD.Parameters после DeriveParameters()?
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271761
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,

нет, а как посмотреть?
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271789
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а с таким кодом можете помочь?
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Dim Ds As New DataSet()
        Dim oradb As String = "Data Source=jamocs;User Id=ocs;Password=_ocs;"
        Dim Oraclecon As New OracleConnection(oradb)
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon

        myCMD.CommandText = "ocs.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        Dim cat As OracleParameter = New OracleParameter
        myCMD.Parameters.Add(New OracleParameter("n", OracleDbType.Varchar2)).Value = 4
        cat = myCMD.Parameters.Add("outora", OracleDbType.NVarchar2, 20)
        cat.Direction = ParameterDirection.Output
        Oraclecon.Open()
        myCMD.ExecuteNonQuery()
        Dim resultcat As String
        resultcat = myCMD.ExecuteScalar()
        ''Dim dr As OracleDataReader = myCMD.ExecuteReader()
        'While dr.Read()
        '    resultcat = dr.GetString(0)
        'End While
        'dr.Close()
        TextBox1.Text = resultcat
        Oraclecon.Close()
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271927
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> нет, а как посмотреть?
Вы отладчиком пользоваться умеете? Значение переменной посмотрите...
_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38271967
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,
я только начал недавно изучать бэйсик если вы подскажите или напишите недостающий текст я буду очень благодарен
уже 2 дня мучаюсь и все вокруг да около
уверен не хватает какой-то ерунды
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38272490
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> напишите недостающий текст
Вот, как раз, Вы и добавляете лишнее/ненужное...

_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38272645
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ex_Soft,

а можно отметить что там лишнее я уже все варианты перепробовал
поскольку больше ответов небыло то вы единственная надежда :)
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38272711
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
           myCMD.Connection = Oraclecon
           myCMD.CommandText ="ocs.testvbnet"
           myCMD.CommandType = CommandType.StoredProcedure
           OracleCommandBuilder.DeriveParameters(myCMD)
           myCMD.Parameters("n").Value = 4
           Dim  MyDAAs  New  OracleDataAdapter(myCMD)
           Try
               MyDA.Fill(Ds)
           Catch  x
               MessageBox.Show(x.Message.ToString)
           End  Try


_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38272736
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 Dim Oraclecon As New OracleConnection(oradb)
        Oraclecon.Open()
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "msg.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        OracleCommandBuilder.DeriveParameters(myCMD)
        myCMD.Parameters("n").Value = 4
       
        myCMD.ExecuteNonQuery()
        Dim resultcat As String
        resultcat = myCMD.ExecuteScalar()
        TextBox1.Text = resultcat
        

        Oraclecon.Close()



так ничего в текст бокс не передает ((
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38272747
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
myCMD.ExecuteNonQuery()
Dim resultcat As String
resultcat = myCMD.Parameters("outora").Value  // тут с приведением типов разберитесь


_________________
"Helo, word!" - 17 errors 56 warnings
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
получить исходящее значение после запуска оракловой процедуры
    #38274239
bombimbom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Урааа заработало!! спасибо Вам огромное!
если кому нужно будет вот код
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
  
        Dim Oraclecon As New OracleConnection(oradb)
        Oraclecon.Open()
        Dim myCMD As New OracleCommand()
        myCMD.Connection = Oraclecon
        myCMD.CommandText = "msg.testvbnet"
        myCMD.CommandType = CommandType.StoredProcedure
        OracleCommandBuilder.DeriveParameters(myCMD)
        myCMD.Parameters("n").Value = 4
        myCMD.ExecuteNonQuery()
        Dim resultcat As String
        resultcat = myCMD.Parameters("outora").Value
        TextBox1.Text = resultcat
        Oraclecon.Close()
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / получить исходящее значение после запуска оракловой процедуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]