ошибка в этой строке SqlDataReader dr = sqlCommand1.ExecuteReader(); остальной код программы
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int kodOkv;
private void button2_Click(object sender, EventArgs e)
{
OkvedName oName = new OkvedName();
if (oName.ShowDialog() != DialogResult.OK)
{
textBox3.Text = "";
return;
}
else
{
kodOkv = oName.okvKod;
textBox3.Text = oName.okvName;
}
}
string sql;
private void Form1_Load(object sender, EventArgs e)
{
sql = @"SELECT UL.IdUL, UL.Ogrn, UL.Inn, UL.Kpp, Licenz.NumLic, Licenz.DtResh, Licenz.LicOrg, Licenz.VidLic, Licenz.SostLic, Licenz.DtStart, Licenz.DtEnd,
Licenz.DtStop, Licenz.StStartNow, VidLic.vlName
FROM UL INNER JOIN
Licenz ON UL.IdUL= Licenz.IdUL INNER JOIN
VidLic ON Licenz.VidLic = VidLic.IdVidLic;";
}
private void button1_Click(object sender, EventArgs e)
{
string f = "";
string mesOgrn = "", mesInn = "";
if (textBox1.Text != "")
{
mesOgrn = testOgrn(textBox1.Text);
if (mesOgrn != "")
MessageBox.Show(mesOgrn);
else
f += "(Ogrn = '" + textBox1.Text + "') AND";
}
if (textBox2.Text!="")
{
mesInn = testInn(textBox2.Text);
if (mesInn != "")
MessageBox.Show(mesInn);
else
f+= "(Inn '" + textBox2.Text + "')AND ";
}
if (textBox3.Text != "")
f += "(IdVidLic.vlName = '" + textBox3.Text + "') AND";
if(f!="")
f = "\nWHERE"+ f.Remove (f.Length - 5);
BindingSource bs = new BindingSource();
sqlCommand1.CommandText = sql + f;
sqlConnection1.Open();
SqlDataReader dr = sqlCommand1.ExecuteReader();
if (dr.HasRows)
bs.DataSource = dr;
dr.Close();
sqlConnection1.Close();
//dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = bs;
}
private bool isClipher(string s)
{
for (int i = 0; i < s.Length; i++)
{
if (!char.IsDigit(s[i]))
return false;
}
return true;
}
private string testOgrn (string s)
{
if (s.Length != 13)
return "Длина ОГРН не равна 13;";
if (!isClipher(s))
return "В коде ОГРН нецифровая информация";
return "";
}
private string testInn(string s)
{
if (s.Length != 10)
return "Длина ИНН не равна 10";
if (!isClipher(s))
return "В коде ИНН нецифровая информация";
return "";
}
}
}
Чем бы ни кончалась к этому моменту
f = "\nWHERE"+ f.Remove (f.Length - 5);
строка f
, Вы отрезаете от нее на один символ больше, чем следует, захватывая закрывающую круглую скобку последнего условия.
List<string> conditions = new List<string>();
...
conditions.Add("(Ogrn = @Ogrn)");
sqlCommand1.Parameters.AddWithValue("@Ogrn", textBox1.Text);
...
conditions.Add("(Inn = @Inn)"); // !! у Вас пропущено =
sqlCommand1.Parameters.AddWithValue("@Inn", textBox2.Text);
...
conditions.Add("(IdVidLic.vlName = @vlName)");
sqlCommand1.Parameters.AddWithValue("@vlName", textBox3.Text);
...
string f = "";
if (conditions.Count > 0)
f = " WHERE " + string.Join(" AND ", conditions);
Параметризируйте SQL запросы: https://en.wikipedia.org/wiki/SQL_injection
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Возле menuitem всегда квадратная пустая иконкаКак ее убрать?
Создал таймер в игре, работаетПри закрытий приложения время сохраняется в PlayerPrefs, при новом запуске игры появляется кнопка Продолжить игру
Есть DataGrid и в его RowDetailsTemplate еще один DataGrid
Подскажите пожалуйста, как эту часть кода заменить, что бы список слов не вписывать ручками в коде, а записывались бы в список из файлаtxt