【发布时间】:2014-05-19 18:29:45
【问题描述】:
我正在尝试在 VS Express for Web 2013 中创建一个可以与数据库“部件”交互的简单网站。我的数据库存储在 app_data 文件夹中。我可以在服务器资源管理器中查看连接,这意味着连接字符串已保存。但是,以下代码会引发 2 个错误:
- 错误 13 'System.Data.SqlClient.SqlCommand.SqlCommand(string, System.Data.SqlClient.SqlConnection)' 的最佳重载方法匹配有一些无效参数
- 错误 14 参数 2:无法从“字符串”转换为“System.Data.SqlClient.SqlConnection”
我不知道如何解决这个问题。这是我的 C# 代码:
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void insertButton_Click(object sender, EventArgs e)
{
string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["connect"].ConnectionString;
SqlCommand cmd = new SqlCommand("INSERT INTO PARTS VALUES('" + nameBox.Text + "', '" + descriptionBox.Text + "', '" + quantityBox.Text + "', '" + categoryList.SelectedValue + "')", connstring);
cmd.ExecuteNonQuery();
}
}
我对 c# 完全陌生,所以请记住这一点。感谢您的帮助。
更新:下面的代码抛出了两个错误,两个都是:
Error 15 The name 'conn' does not exist in the current context
我是 C# 新手,但看起来代码没有任何问题。名称“conn”在上面已明确定义。
using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void insertButton_Click(object sender, EventArgs e)
{
using (var conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["connect"].ConnectionString))
using (var cmd = new SqlCommand(
"INSERT INTO PARTS VALUES(@name, @description, @quantity, @category)", conn))
{
cmd.Parameters.AddWithValue("name", nameBox.Text);
cmd.Parameters.AddWithValue("description", descriptionBox.Text);
cmd.Parameters.AddWithValue("quantity", quantityBox.Text);
cmd.Parameters.AddWithValue("category", categoryList.SelectedValue);
conn.Open();
cmd.ExecuteNonQuery();
}
}
}
【问题讨论】:
标签: c# sql database-connection connection-string