我正在創建一個顯示日歷事件的視窗表單。
當我在特定日期添加事件時,我收到此錯誤:
System.Data.SqlClient.SqlException: 'value' 附近的語法不正確
在線cmd.ExecuteNonQuery();。
這是我的代碼:
namespace PRN_Project
{
public partial class EventForm : Form
{
String ConnectionString = "server=DESKTOP-7NUQVBN; database=Calendar; uid=sa; pwd=123";
public EventForm()
{
InitializeComponent();
}
private void EventForm_Load(object sender, EventArgs e)
{
tbDate.Text = UserControlDays.static_day "/" CalendarForm.static_month "/" CalendarForm.static_year;
}
private void btSave_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
String sql = "INSERT INTO CalendarEvent (TimeDate, EventName) VALUE (?, ?)";
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("TimeDate", tbDate.Text);
cmd.Parameters.AddWithValue("EventName", tbEvent.Text);
cmd.ExecuteNonQuery();
MessageBox.Show("Saved!");
cmd.Dispose();
conn.Close();
}
}
}
我正在使用 SQL Server 身份驗證。
對于資料型別TimeDate和EventName為varchar(255)。
uj5u.com熱心網友回復:
試試這個:
private void btSave_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConnectionString);
String sql = "INSERT INTO CalendarEvent(TimeDate, EventName)values(@TimeDate,@EventName)";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@TimeDate", tbDate.Text);
cmd.Parameters.AddWithValue("@EventName", tbEvent.Text);
conn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Saved !!!");
cmd.Dispose();
conn.Close();
}
你可以使用 TRY Catch 最后
private void btSave_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConnectionString);
String sql = "INSERT INTO CalendarEvent(TimeDate, EventName)values(@TimeDate,@EventName)";
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = sql;
cmd.Parameters.AddWithValue("@TimeDate", tbDate.Text);
cmd.Parameters.AddWithValue("@EventName", tbEvent.Text);
try
{
conn.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Saved !!!");
}
catch
{
}
finally
{
conn.Close();
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/351531.html
標籤:C# sql-server
