Odbc, Sqlite + ZP

kouhia

Client
Регистрация
28.09.2024
Сообщения
48
Благодарностей
5
Баллы
8
Что я делаю не так? Мне нужно найти строку по переменной и вернуть данные из 2-ух ячеек в 2 переменные. я использую

провайдер данных: odbc
строка подключения: Driver={SQLite3 ODBC Driver};database=C:/RED HUNTER/db/union.db

Тип запроса Скалярный

Тест запроса:
SELECT id, name FROM Huran WHERE colob = @colob

Использовать параметры запроса:
colob sname

Обработка результатов:
Положить результат в: переменные
Номер строки: 0

1 scoltid
2 scolname
 

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63
И догадайтесь сами , что за ошибку выдает зенка :-)
 

kouhia

Client
Регистрация
28.09.2024
Сообщения
48
Благодарностей
5
Баллы
8

kouhia

Client
Регистрация
28.09.2024
Сообщения
48
Благодарностей
5
Баллы
8
Ну, короче поменял я местами colob и sname, а вместо @colob поставил"?" теперь ошибки нет и экшен типо исполняется, только ничего не возвращает
 

Alex91

Известная личность
Read only
Регистрация
15.08.2024
Сообщения
880
Благодарностей
251
Баллы
63
Сам то запрос проверял ?
Базу где делаешь и смотришь ?
 

kouhia

Client
Регистрация
28.09.2024
Сообщения
48
Благодарностей
5
Баллы
8
Так и не разобрался, сделал с помощью С#, оставлю здесь может кому пригодится


string connectionString = @"Driver={SQLite3 ODBC Driver};database=C:\RED HUNTER\db\union.db;";
string query = "SELECT * FROM Huran WHERE colob= ?";

string fragmentValue = project.Variables["sname"].Value;

try
{
using (var conn = new System.Data.Odbc.OdbcConnection(connectionString))
{
conn.Open();
using (var cmd = new System.Data.Odbc.OdbcCommand(query, conn))
{
cmd.Parameters.AddWithValue("?", colobValue);

using (var reader = cmd.ExecuteReader())
{
if (reader.Read())
{
project.Variables["scoltid"].Value = reader["id"].ToString();
project.Variables["scolname"].Value = reader["name"].ToString();
project.Variables["scolob"].Value = reader["colob"].ToString();
project.Variables["snel"].Value = reader["nel"] != DBNull.Value ? reader["nel"].ToString() : "NULL";
}
else
{
project.SendInfoToLog($" Данные не найдены для colob= {fragmentValue}", true);
}
}
}
}
}
catch (Exception ex)
{
project.SendErrorToLog($" Ошибка SQL: {ex.Message}");
}
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)