正如你们中的一些人可能从我之前的文章中看到的那样,我是使用 C# 创建网站的新手(尽管我有相当多的使用它来创建 Windows 窗体应用程序的经验)。强大的力量正在诱惑我远离 PHP,但我在我认为的基础知识上一直失败。
无论如何,这是我的问题。我正在尝试创建一个简单的 SQL 数据库条目。我知道我与数据库的连接很好,因为我可以整天滔滔不绝地进行 SELECT 查询,但我在使用插入时遇到了麻烦。
这是我的代码:
string filename = "abc123.jpg";
SqlConnection link = new SqlConnection(//you dont need to see my data here ;));
string sqlcode = "INSERT INTO file_uploads (upload_filename VALUES ("+filename+")";
SqlCommand sql = new SqlCommand(sqlcode,link);
link.open();
sql.ExecuteNonQuery();
这会导致从 try/catch 返回“无效的列名 abc123.jpg”。
任何帮助,将不胜感激。 (我希望他们能让我用 PHP 来做这件事,哈哈!)
Thanks,
特里布罗克
列名后面缺少括号,并且值表示字符串,因此必须用引号引起来:
string sqlcode = "INSERT INTO file_uploads (upload_filename) " +
"VALUES ('"+filename+"')";
但是,正确的方法是使用参数化查询:
string filename = "abc123.jpg";
SqlConnection link = new SqlConnection(/*you dont need to see my data here ;)*/);
string sqlcode = "INSERT INTO file_uploads (upload_filename) VALUES (@filename)";
SqlCommand sql = new SqlCommand(sqlcode,link);
sql.Parameters.AddWithValue("@filename", filename);
link.open();
sql.ExecuteNonQuery();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)