本文介绍了'int'附近的语法不正确。必须声明标量变量“@”。的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Описание:Необработанноеисключениевозниклововремявыполнениятекещеговеб-запроса。
我尝试过:
Описание: Необработанное исключение возникло во время выполнения текущего веб-запроса.
What I have tried:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Taxi
{
public partial class Add_New_Driver : Form
{
SqlConnectionStringBuilder bldr;
SqlConnection cn;
public Add_New_Driver()
{
InitializeComponent();
bldr = new SqlConnectionStringBuilder();
bldr.DataSource = @"HOME-ПК\MYSQL";
bldr.IntegratedSecurity = true;
// bldr.AttachDBFilename = @"E:\Programs\SQL\MSSQL12.MYSQL\MSSQL\DATA\Тест_Автотранспортное_Предприятие.mdf";
bldr.AttachDBFilename = @"E:\Тест_Автотранспортное_Предприятие.mdf";
// bldr.AttachDBFilename = "" + Application.StartupPath.ToString() + "\\" + "Тест_Автотранспортное_Предприятие.mdf";
label1.Text = "Дата рождения";
label2.Text = "Категория водительского удостоверения";
label3.Text = "Семейное положение";
label4.Text = "Фамилия Имя Отчество водителя";
button1.Text = "Добавить";
}
private void Add_New_Driver_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string strSQL;
using (SqlConnection cn = new SqlConnection(bldr.ConnectionString))
{
try
{
cn.Open();
strSQL = "SELECT * FROM Водители";
SqlDataAdapter da = new SqlDataAdapter(strSQL, cn);
DataTable t = new DataTable("Водители");
da.Fill(t);
DataRow rowToInsert;
rowToInsert = t.Rows.Add(new object[] { Convert.ToInt32(textBox4.Text), dateTimePicker1.Value.ToString("yyyy-MM-dd"), textBox1.Text, textBox2.Text, textBox3.Text });
string strInsert = @"INSERT INTO Водители ([Код водителя], [Дата рождения], [Категория водительского удостоверения], [Семейное положение], [Фамилия Имя Отчество водителя])" + "VALUES (@[Код водителя], @[Дата рождения], @[Категория водительского удостоверения], @[Семейное положение], @[Фамилия Имя Отчество водителя]) ";
SqlCommand cmdInsert = new SqlCommand(strInsert, cn);
cmdInsert.Parameters.AddWithValue("@Код водителя", rowToInsert["Код водителя"]);
cmdInsert.Parameters.AddWithValue("@Дата рождения", rowToInsert["Дата рождения"]);
cmdInsert.Parameters.AddWithValue("@Категория водительского удостоверения", rowToInsert["Категория водительского удостоверения"]);
cmdInsert.Parameters.AddWithValue("@Семейное положение", rowToInsert["Семейное положение"]);
cmdInsert.Parameters.AddWithValue("@Фамилия Имя Отчество водителя", rowToInsert["Фамилия Имя Отчество водителя"]);
cmdInsert.ExecuteNonQuery();
rowToInsert.AcceptChanges();
/* string insertWorker = "INSERT INTO Водители VALUES (" + Convert.ToInt32(textBox4.Text) + ",'" + dateTimePicker1.Value + "','" + textBox1.Text + "','" +
textBox2.Text + "','" + textBox3.Text + "')";
SqlCommand insert = new SqlCommand(insertWorker, cn);
if (insert.ExecuteNonQuery() == 1)
MessageBox.Show("Запись успешно добавлена!", "Добавление записи", MessageBoxButtons.OK, MessageBoxIcon.Information);*/
cn.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
推荐答案
string strInsert = @"INSERT INTO Водители ([Код водителя], [Дата рождения], [Категория водительского удостоверения], [Семейное положение], [Фамилия Имя Отчество водителя])" + "VALUES (@[Кодводителя], @[Датарождения], @[Категорияводительскогоудостоверения], @[Семейноеположение], @[ФамилияИмяОтчествоводителя]) ";
SqlCommand cmdInsert = new SqlCommand(strInsert, cn);
cmdInsert.Parameters.AddWithValue("@Кодводителя", rowToInsert["Код водителя"]);
cmdInsert.Parameters.AddWithValue("@Датарождения", rowToInsert["Дата рождения"]);
cmdInsert.Parameters.AddWithValue("@Категорияводительскогоудостоверения", rowToInsert["Категория водительского удостоверения"]);
cmdInsert.Parameters.AddWithValue("@Семейноеположение", rowToInsert["Семейное положение"]);
cmdInsert.Parameters.AddWithValue("@ФамилияИмяОтчествоводителя", rowToInsert["Фамилия Имя Отчество водителя"]);
cmdInsert.ExecuteNonQuery();
引用:
DataRow rowToInsert;
DataRow rowToInsert;
在实例化之前。
before it was instantiated.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Taxi
{
public partial class Remove_Info_About_Driver : Form
{
SqlConnectionStringBuilder bldr;
SqlConnection cn;
public Remove_Info_About_Driver()
{
InitializeComponent();
bldr = new SqlConnectionStringBuilder();
bldr.DataSource = @"HOME-ПК\MYSQL";
bldr.IntegratedSecurity = true;
// bldr.AttachDBFilename = @"E:\Programs\SQL\MSSQL12.MYSQL\MSSQL\DATA\Тест_Автотранспортное_Предприятие.mdf";
bldr.AttachDBFilename = @"E:\Тест_Автотранспортное_Предприятие.mdf";
label1.Text = "Введите код водителя";
label2.Text = "Дата рождения";
label3.Text = "Категория водительского удостоверения";
label4.Text = "Семейное положение";
label5.Text = "Фамилия Имя Отчество водителя";
button1.Text = "Поиск";
button2.Text = "Найти и отредактировать";
button3.Text = "Принять изменения";
}
private void Remove_Info_About_Driver_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
string strSQL;
strSQL = "SELECT * FROM Водители";
// string info;
// string info1;
string strOp;
/*if (checkBox1.Checked == false || checkBox2.Checked == false)
strOp = "OR";
else
strOp = "AND";*/
if (checkBox1.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Код водителя]='" + textBox1.Text + "'";
if (checkBox2.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Фамилия Имя Отчество водителя]= '" + textBox5.Text + "'";
if (checkBox3.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Дата рождения]= '" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "'";
if (checkBox4.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Категория водительского удостоверения]= '" + textBox3.Text + "'";
if (checkBox5.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Семейное положение]= '" + textBox4.Text + "'";
using (cn = new SqlConnection(bldr.ConnectionString))
{
try
{
cn.Open();
SqlCommand cmd = new SqlCommand(strSQL, cn);
SqlDataReader rdr = cmd.ExecuteReader();
DataTable t = new DataTable();
t.Load(rdr);
dataGridView1.DataSource = t.DefaultView;
cn.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void button2_Click(object sender, EventArgs e)
{
string strSQL;
strSQL = "SELECT * FROM Водители";
string strOp;
if (checkBox1.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Код водителя]='" + textBox1.Text + "'";
if (checkBox2.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Фамилия Имя Отчество водителя]= '" + textBox5.Text + "'";
if (checkBox3.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Дата рождения]= '" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "'";
if (checkBox4.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Категория водительского удостоверения]= '" + textBox3.Text + "'";
if (checkBox5.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Семейное положение]= '" + textBox4.Text + "'";
using (cn = new SqlConnection(bldr.ConnectionString))
{
try
{
cn.Open();
if (checkBox1.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Код водителя]='" + textBox1.Text + "'";
if (checkBox2.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Фамилия Имя Отчество водителя]= '" + textBox5.Text + "'";
if (checkBox3.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Дата рождения]= '" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "'";
if (checkBox4.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Категория водительского удостоверения]= '" + textBox3.Text + "'";
if (checkBox5.Checked == true)
strSQL = "SELECT * FROM Водители WHERE [Семейное положение]= '" + textBox4.Text + "'";
SqlDataAdapter da = new SqlDataAdapter(strSQL, cn);
DataTable t = new DataTable("Водители");
da.Fill(t);
dataGridView1.DataSource = t;
textBox1.DataBindings.Add(new Binding("Text", t, "Код водителя"));
textBox1.Visible = true;
textBox3.DataBindings.Add(new Binding("Text", t, "Категория водительского удостоверения"));
textBox3.Visible = true;
textBox4.DataBindings.Add(new Binding("Text", t, "Семейное положение"));
textBox4.Visible = true;
textBox5.DataBindings.Add(new Binding("Text", t, "Фамилия Имя Отчество водителя"));
textBox5.Visible = true;
dateTimePicker1.DataBindings.Add(new Binding("Text", t, "Дата рождения"));
dateTimePicker1.Visible = true;
button2.Visible = true;
cn.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
private void button3_Click(object sender, EventArgs e)
{
using (cn = new SqlConnection(bldr.ConnectionString))
{
try
{
cn.Open();
string strUpd = "UPDATE Водители " + "SET [Код водителя]=@[Кодводителя],[Дата рождения]=@[Датарождения]," + "[Категория водительского удостоверения]=@[Категрияводительскогоудостоверения],[Семейное положение]=@[Семейноеположение],[Фамилия Имя Отчество водителя]=@[ФамилияИмяОтчествоводителя] " + "WHERE [Код водителя] =@[Кодводителя] AND [Дата рождения]=@[Датарождения]";
SqlCommand cmdUpd = new SqlCommand(strUpd, cn);
cmdUpd.Parameters.AddWithValue("@Кодводителя", Convert.ToInt32(textBox1.Text));
cmdUpd.Parameters.AddWithValue("@Датарождения", dateTimePicker1.Value.ToString("yyyy-MM-dd"));
cmdUpd.Parameters.AddWithValue("@Категорияводительскогоудостоверения", textBox3.Text);
cmdUpd.Parameters.AddWithValue("@Семейноеположение", textBox4.Text);
cmdUpd.Parameters.AddWithValue("@ФамилияИмяОтчествоводителя", textBox5.Text);
int res = cmdUpd.ExecuteNonQuery();
if (res == 1)
{
string strSQL;
MessageBox.Show("Запись успешно отредактированна");
if (checkBox1.Checked == true)
{
strSQL = "SELECT * FROM Водители WHERE [Код водителя]='" + textBox1.Text + "'";
SqlDataAdapter da1 = new SqlDataAdapter(strSQL, cn);
DataTable t1 = new DataTable("Водители");
da1.Fill(t1);
dataGridView1.DataSource = t1;
}
if (checkBox2.Checked == true)
{
strSQL = "SELECT * FROM Водители WHERE [Фамилия Имя Отчество водителя]= '" + textBox5.Text + "'";
SqlDataAdapter da2 = new SqlDataAdapter(strSQL, cn);
DataTable t2 = new DataTable("Водители");
da2.Fill(t2);
dataGridView1.DataSource = t2;
}
if (checkBox3.Checked == true)
{
strSQL = "SELECT * FROM Водители WHERE [Дата рождения]= '" + dateTimePicker1.Value.ToString("yyyy-MM-dd") + "'";
SqlDataAdapter da3 = new SqlDataAdapter(strSQL, cn);
DataTable t3 = new DataTable("Водители");
da3.Fill(t3);
dataGridView1.DataSource = t3;
}
if (checkBox4.Checked == true)
{
strSQL = "SELECT * FROM Водители WHERE [Категория водительского удостоверения]= '" + textBox3.Text + "'";
SqlDataAdapter da4 = new SqlDataAdapter(strSQL, cn);
DataTable t4 = new DataTable("Водители");
da4.Fill(t4);
dataGridView1.DataSource = t4;
}
if (checkBox5.Checked == true)
{
strSQL = "SELECT * FROM Водители WHERE [Семейное положение]= '" + textBox4.Text + "'";
SqlDataAdapter da5 = new SqlDataAdapter(strSQL, cn);
DataTable t5 = new DataTable("Водители");
da5.Fill(t5);
dataGridView1.DataSource = t5;
}
}
else
MessageBox.Show("Запись не отредактирована!");
cn.Close();
}
catch (SqlException ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
}
这篇关于'int'附近的语法不正确。必须声明标量变量“@”。的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!