当前位置: 首页 > 面试题库 >

SQL INSERT-无效的列名

容学林
2023-03-14
问题内容

正如您从上一篇文章中看到的那样,我是使用C#创建网站的新手(尽管我有相当的经验将其用于Windows
Forms应用程序)。强大的功能使我远离PHP,但是我一直在失败,因为我认为这是基础知识。

无论如何,这是我的问题。我正在尝试创建一个到SQL数据库的简单条目。我知道我与数据库的连接很好,因为我可以整天取消SELECT查询,但是在使用Insert时遇到了麻烦。

这是我的代码:

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();

这导致从尝试/捕获返回“无效的列名称abc123.jpg”。

任何帮助,将不胜感激。(我希望他们会让我用PHP大声笑!)

谢谢,

Tripbrock


问题答案:

列名后缺少括号,该值表示字符串,因此必须用引号引起来:

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();


 类似资料:
  • 问题内容: 我有一个JSP文件,我将在Eclipse,Maven和Tomcat的帮助下将其部署在Java项目中。我还有一些其他的JSP文件与此文件几乎相同,尽管它们运行不同的操作。无论如何,当我转到页面时,我已经给出了: Bug是一个自定义类,可以接受结果集--并执行以下操作: 其中BUG_ID,PERSON_OPENED_BY,PERSON_ASSIGNED_TO,TITLE和PROJECT_I

  • 问题内容: 这是logcat: 与之关联的行是: 可能是什么问题呢?创建数据库就好了。您还需要查看其他代码吗? 更新: 我非常确定此列存在。我用这个查询数据库: 在LogCat中: 因此该列确实存在。 问题答案: 我发现了一个奇怪的解决方案。在中。你所要做的:

  • 问题内容: Eclipse JDT编译器似乎存在一个问题,在某些情况下,Java 8 lamda不能正确反序列化,而是抛出。我正在使用最新发布的维护版本,如下所示: 现有的Bug / SO条目报告了已(至少部分地)已解决的类似问题。我已经亲自验证以下问题已解决。 访问实例字段和方法的Java 8Lambda不能反序列化 https://bugs.eclipse.org/bugs/show_bug.

  • 问题内容: 我想过滤掉所有单词,这些单词包含1个数字和3个大写字母,总长度为4。在这里查看我的示例: http //gskinner.com/RegExr/?32taa ArrayList result = new ArrayList (); for(int i = 0; i <= 10; i++){ } 但是,当我将我的regexp模式传递给matcher方法时,出现错误: 我需要换一封信吗?

  • 问题内容: 我使用别名来引用计算列。这是我尝试制作的实际代码的一部分,用于计算相似度并返回相似度得分为3或更高的匹配项。 异常消息: 无效的列名“相似性”。 由于相似性不是真正的专栏文章,我将如何进行这项工作? 问题答案: 在查询的投影()阶段执行列别名和计算,该阶段在选择(和)阶段之后发生。因此,无法在子句或条件中引用它们,因为它们尚不存在。您可以将带有子句的查询用作子查询,也可以在子句中重复计

  • 我的表的结构Product的列为productId,poductName和productPrice类别的列为categoryId,categoryName和categoryproducts的列为categoryId和productId