Рейтинг:
7
kanangandhi
GLOBALVARS.dt = new DataTable();
if (GLOBALVARS.dt.Columns.Count == 0)
{
GLOBALVARS.dt.Columns.Add("bar_kod");
GLOBALVARS.dt.Columns.Add("ime");
GLOBALVARS.dt.Columns.Add("cijena_sa_porezom");
}
SqlConnection con = new SqlConnection(cs);
if (textBox1.Text.All(char.IsDigit))
{
string queryString = "select bar_kod, ime, cijena_sa_porezom from roba_usluge WHERE bar_kod = '" + textBox1.Text + "'";
using (SqlConnection connection = new SqlConnection(cs))
{
SqlCommand command = new SqlCommand(queryString, connection);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
;
while (reader.Read())
{
if (reader.HasRows)
{
DataRow dr = GLOBALVARS.dt.NewRow();
dr["bar_kod"] = reader["bar_kod"].ToString();
dr["ime"] = reader["ime"].ToString();
dr["cijena_sa_porezom"] = reader["cijena_sa_porezom"].ToString();
GLOBALVARS.dt.Rows.Add(dr);
dataGridView1.DataSource = GLOBALVARS.dt;
}
}
if (GLOBALVARS.dt.Rows.Count == 0)
{
MessageBox.Show("Bar kod not exist!", "Obavještenje", MessageBoxButtons.OK, MessageBoxIcon.Information);
textBox1.Text = "";
}
}
}
Goran Bibic
Что такое GLOBALVARS? Ошибка...как это определить?
[no name]
публичный статический класс GLOBALVARS
{
публичный статический DataTable dt;
}
Goran Bibic
Его работа, всего лишь одна простая задача. Просто добавьте одну строку в datagrid. Если есть две вещи, есть только одна строка и все меняется?
Нужно если есть 5 вещей, то быть 5 рядами. Если иметь дело только ++ качество. Надеюсь понять?
Goran Bibic
Второй вопрос, у меня есть существующая datagrid со значениями bar_kod, ime, cijena_sa_porezom.
Почему это?
GLOBALVARS.dt = новый DataTable();
if (GLOBALVARS.dt.Columns.Количество == 0)
{
GLOBALVARS.dt.Columns.Добавить("bar_kod");
GLOBALVARS.dt.Columns.Добавить("ime");
GLOBALVARS.dt.Columns.Добавить("cijena_sa_porezom");
}
[no name]
Это необходимо, в то время как объект DataTable имеет значение null.
Рейтинг:
1
Afzaal Ahmad Zeeshan
Это первое, что обычно делает любой учебник по базам данных; покажите, как визуализировать табличные данные в сетке.
Следуйте по предыдущему вопросу, Отображение формы данных sql db в datagridview с помеченными столбцами[^] , и начните с "связанных вопросов", в правой части этого вопроса, а также. Есть еще несколько вопросов, которые отвечают на тот же вопрос.
Эта краткая статья также может вам помочь, Пошаговое руководство: отображение данных из базы данных SQL Server в элементе управления DataGrid | Microsoft Docs[^]
Редактировать
Предоставьте код, который вы пробовали, а также комментарий, который вы сделали. Вы хотите убедиться, что запись существует, для представления таблицы данных и только для рендеринга записей она есть.
В этом случае запрос корректен и, скорее всего, будет извлекать данные, если имена столбцов, таблицы и соединения верны, а также код подвергается SQL-инъекции. Я только что написал ответ здесь, Атаки Sql-инъекций возможны с использованием файла resource(.resx) [^] , ваш код, скорее всего, будет.
Код для блока reader.Read()
это уже несколько раз делилось в статьях и ссылках, которыми я поделился в своем ответе выше.
Goran Bibic
Не отображается в datagrid...нужно проверить, где bar_kod = '" + textBox1.Text,,
если придется вставить в datagrid
Какая-то помощь?
Afzaal Ahmad Zeeshan
Тогда зачем вам нужно использовать SQL-запрос в коде C#? Вы можете написать хранимую процедуру, которая проверяет, является ли штрих-код правильным или нет. Конечно, это требует, чтобы вы показали некоторый код, который у вас есть.
Кроме того, конкатенация-это плохая практика в SQL, она приведет к SQL-инъекции. Я только что написал ответ на этот вопрос здесь, https://www.codeproject.com/Answers/1264075/Sql-injection-attacks-possible-using-resource-resx
Goran Bibic
Да, если bar_code в порядке, вставьте значения в datagrid1
Я пробую это, просто читаю, никакой вставки в datagreid1
частная пустота prijavaAction()
{
{
SqlConnection con = новый SqlConnection(cs);
if (textBox1.Text.All(char.IsDigit))
{
строка строка запроса = "выбрать bar_kod, име, cijena_sa_porezom от roba_usluge где bar_kod = '" + текстовое поле textbox1.Текст + "'";// pronaci radnika U в Бацзы
используя (sqlconnection для подключения = новое sqlconnection(КС))
{
Команда SqlCommand = новая команда SqlCommand(строка запроса, соединение);
соединение.Открыть();
SqlDataReader reader = команда.Метода executereader();
если (читатель.читать())
{
for (int i = 0; i < dataGridView1.Rows.Граф; i++)
{
dataGridView1.Rows[i].Ячейки["bar_kod"].Value = reader["bar_kod"].Метод toString();
dataGridView1.Rows[i].Ячейки["naziv_artikla"].Value = reader["ime"].Метод toString();
dataGridView1.Rows[i].Ячейки["cijena"].Value = reader["cijena_sa_porezom"].Метод toString();
}
читатель.Закрывать();
}
еще
{
Ящик для сообщений.Шоу("Bar kod ne postoji!", "Obavještenje", MessageBoxButtons.Хорошо, MessageBoxIcon.Информация);
текстовое поле textbox1.Текст = "";
}
}
}
еще
{
Ящик для сообщений.Шоу("Bar kod ne postoji!", "Obavještenje", MessageBoxButtons.Хорошо, MessageBoxIcon.Информация);
текстовое поле textbox1.Текст = "";
}
}
}
Afzaal Ahmad Zeeshan
И в чем же тут проблема?
Goran Bibic
Я пытаюсь это сделать но просто read...no вставить в datagridviuew1
частная пустота prijavaAction() //04.04. final doradjena perfect
{
{
SqlConnection con = новый SqlConnection(cs);
if (textBox1.Text.All(char.IsDigit))
{
строка строка запроса = "выбрать bar_kod, име, cijena_sa_porezom от roba_usluge где bar_kod = '" + текстовое поле textbox1.Текст + "'";// pronaci radnika U в Бацзы
используя (sqlconnection для подключения = новое sqlconnection(КС))
{
Команда SqlCommand = новая команда SqlCommand(строка запроса, соединение);
соединение.Открыть();
SqlDataReader reader = команда.Метода executereader();
если (читатель.читать())
{
for (int i = 0; i < dataGridView1.Rows.Граф; i++)
{
dataGridView1.Rows[i].Ячейки["bar_kod"].Value = reader["bar_kod"].Метод toString();
dataGridView1.Rows[i].Ячейки["naziv_artikla"].Value = reader["ime"].Метод toString();
dataGridView1.Rows[i].Ячейки["cijena"].Value = reader["cijena_sa_porezom"].Метод toString();
}
читатель.Закрывать();
}
еще
{
Ящик для сообщений.Шоу("Bar kod ne postoji!", "Obavještenje", MessageBoxButtons.Хорошо, MessageBoxIcon.Информация);
текстовое поле textbox1.Текст = "";
}
}
}
еще
{
Ящик для сообщений.Шоу("Bar kod ne postoji!", "Obavještenje", MessageBoxButtons.Хорошо, MessageBoxIcon.Информация);
текстовое поле textbox1.Текст = "";
}
}
}