powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / mysql + c# чтение
10 сообщений из 10, страница 1 из 1
mysql + c# чтение
    #38146934
evgeniy.potseluev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Извините что пишу, право стыдно, однако не понимаю простых вещей, азов так сказать.

Мне в C# надо посчитать количество записей в таблице и записать их в переменную. Тривиально. Иначе, как просто получить значение, которое мне отсылает сервер, какой функцией?

Что необходимо вставить вместо //*****// ?


public int count()
{
int i;
sqlcmd("SELECT COUNT(*) FROM c.mytable);
// *********** //
return i;
}

Спасибо большое, еще раз извините :)
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38146950
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну раз SQL-запрос написан, то, видимо, проблема в C#

Модератор: Тема перенесена из форума "MySQL".
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38146966
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38148289
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
evgeniy.potseluev,

Приведу пример с базой данных Oracle (для mysql должно быть аналогично):

1) сначала нужно создать функцию в базе:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create or replace function test_function return sys_refcursor
is
  cur sys_refcursor;
begin
  
  open cur for
      select count(*) from test_table;

  return cur;
  
end;


2) затем вызвать эту функцию в C#:
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OracleClient;

namespace test_base
{
  public partial class Form1 : Form
  {
    public Form1()
    {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e)
    {
      int a = 0;
      
      OracleConnection conn = new OracleConnection("Data Source=my_alias; User Id=my_name; Password=my_password;");
      conn.Open();

      OracleCommand cmd = new OracleCommand("test_function", conn);
      cmd.CommandType = CommandType.StoredProcedure;
      cmd.Parameters.Add("cur", OracleType.Cursor).Direction = ParameterDirection.ReturnValue; 

      OracleDataReader dr = cmd.ExecuteReader(); 

      while (dr.Read())
      {
          a = Convert.ToInt32(dr[0]); 
      }
      
      conn.Close();

      MessageBox.Show("В базе " + a.ToString() + " записей");

    }
  }
}
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38148312
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetalПриведу пример с базой данных Oracle (для mysql должно быть аналогично):

1) сначала нужно создать функцию в базе:
Код: plsql
1.
create or replace function test_function return sys_refcursor

Увы, в MySQL нет sys_refcursor и его аналогов.
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38148321
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
miksoftУвы, в MySQL нет sys_refcursor и его аналогов.
А как тогда можно реализовать?
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38148369
wvetal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
wvetalmiksoftУвы, в MySQL нет sys_refcursor и его аналогов.
А как тогда можно реализовать?
Как вариант(но мне не очень нравится), заполнять на сервере (в базе данных) какую-то временную таблицу, а потом заполнять какой-то контрол этой таблицей(значением) у себя на форме.
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38148401
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetalmiksoftУвы, в MySQL нет sys_refcursor и его аналогов.
А как тогда можно реализовать?а как в C# принято результат SQL-запроса получать в общем случае? sys_refcursor не во всех СУБД есть.
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38149214
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wvetalmiksoftУвы, в MySQL нет sys_refcursor и его аналогов.
А как тогда можно реализовать?МСУ уже ответил... Внимательно прочитать...
Посмотри в сторону ExecuteScalar...
...
Рейтинг: 0 / 0
mysql + c# чтение
    #38156550
mikl65
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
i=Convert.ToInt32(sqlcmd.ExecuteScalar())
или
i=(int)sqlcmd.ExecuteScalar()
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / mysql + c# чтение
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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