mysql - 请告知如何解决“Ref”语法错误附近的sql逻辑错误
问题描述
private void ExecuteQquery(string QueryData)
{
SetConnectDB();
sqlConn.Open();
sqlCmd = sqlConn.CreateCommand();
sqlCmd.CommandText = QueryData;
sqlCmd.ExecuteNonQuery();
sqlCmd.Dispose();
sqlConn.Close();
}
sqlcmd commandtext = querydata 在我运行程序时似乎是一个问题。
private void btnAddField_Click(object sender, EventArgs e)
{
string QueryData = "Insert into details(Customer Ref, First Name, Last name, Address, Mobile, " + "Email, Gender, DOB, Nationality, Prove)"
+ "values('" + btnCustomerReference.Text + "','" + btnFirstName.Text + "','" + btnLastName.Text + "','" +
btnAddress.Text + "','" + btnMobile.Text + "','" + btnEmail.Text + "','" + chkGender.Text + "','" + dateTimePicker1 +
"','" + chkNationality.Text + "','" + chkPOI.Text + "')";
ExecuteQquery(QueryData);
UpLoadData();
}
错误指向 ExecuteQquery(QueryData)。我已经尝试了各种方法来解决但没有结果。
[下面的命令在实例变量中声明]
public SQLiteConnection sqlConn;
public SQLiteCommand sqlCmd;
public DataTable sqlDT = new DataTable();
public DataSet DS = new DataSet();
public SQLiteDataAdapter DB;
解决方案
我发现您的查询有两个问题
- 您的某些列名之间包含空格,因此请使用单引号
''
- 值之前没有空格
所以像这样编辑你的查询:
string QueryData = "Insert into details('Customer Ref','First Name','Last name','Address','Mobile', " + "'Email','Gender','DOB', 'Nationality','Prove')"
+ " values('" + btnCustomerReference.Text + "','" + btnFirstName.Text + "','" + btnLastName.Text + "','" +
btnAddress.Text + "','" + btnMobile.Text + "','" + btnEmail.Text + "','" + chkGender.Text + "','" + dateTimePicker1 +
"','" + chkNationality.Text + "','" + chkPOI.Text + "')";
并确保您在表中插入的所有数据都与相应列的数据类型匹配。
推荐阅读
- python - How do I run the tensorflow sample code? (throws an error)
- java - Keycloak 多域登录
- python - next() multiple times in .csv file
- tomcat - Cloud Foundary uaa 日志定制
- java - HTTP Request From Android Client
- python - Condionally and Randomly update Pandas values?
- node.js - 如何按名称查找所有用户?
- python-3.x - 展开 uint8 帧计数器
- typescript - YouTube API 获取视频 url 缺少 url_encoded_fmt_stream_map 且未定义
- c++ - 中止陷阱:来自 Google Speech API 的 6 个