我一直在做一段时间的删除功能,而且我无法越过这个错误。SQL查询问题:无效标识符
删除失败ORA-00904“系统”“数据”“DataRowView的”:无效的标识符
private void button3_Click(object sender, EventArgs e)
{
string yesNoPrompt = "Are you sure you want to delete this patient?";
const string caption = "";
var result = MessageBox.Show(yesNoPrompt, caption,
MessageBoxButtons.YesNo,
MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
string sql = "DELETE FROM CLIENT WHERE (CLI_LNAME =" + listBox1.SelectedItem.ToString() + ")" ;
try
{
string connectionString = GetConnectionString();
using (OracleConnection connection = new OracleConnection())
{
connection.ConnectionString = connectionString;
connection.Open();
OracleCommand command = new OracleCommand(sql, connection);
command.CommandType = CommandType.Text;
command.ExecuteNonQuery();
}
}
catch (System.Data.OracleClient.OracleException ex)
{
MessageBox.Show("Delete Failed" + ex.Message);
}
}
}
在数据库中的表是客户端和我试图通过自己的姓氏找到一个特定的人或CLI_LNAME。我认为问题不在于通过名称,而在于如何通过。
任何想法?
它看起来就像你在'DELETE从客户WHERE忘记一些“文本( CLI_LNAME ='“+ listBox1.SelectedItem.ToString()+”')'现在你的CLI_LNAME似乎是一个字符串类型 – Heki 2012-07-06 07:35:54
你真的在表中有'CLI_NAME'列吗?并且该名称应该被包含在**单引号**中,这就是为什么它使用参数化查询的好处 – V4Vendetta 2012-07-06 07:37:59
就是这样..这么简单。我一定很累。 谢谢。 – Uzzy58321 2012-07-06 07:42:28