[英]SQL Server insert
我有一个简单的两字段形式,将其数据存储在数据库中。 由于某种原因,它不起作用。 我已经验证了连接字符串可以正常工作,因为它已在我创建的另一个项目中使用。
我没有包括第一堂课的开始或其页面加载。
码:
protected void btnSubmit_Click(object sender, EventArgs e)
{
string Name = txtName.Text;
string Description = txtSpecial.Text;
string method = string.Format(
"INSERT INTO RbSpecials (Name,Description,Active) VALUES ('{0}','{1}','1')",
Name,
Description);
RbConfiguration mySql = new RbConfiguration();
try
{
mySql.Sql_Connection(method);
}
catch
{
}
}
}
public class RbConfiguration
{
string DbConnectionString = "System.Configuration.ConfigurationManager.ConnectionStrings['RBConnectionString'].ConnectionString";
public void Sql_Connection(string queryString)
{
SqlConnection conn = new SqlConnection(DbConnectionString);
SqlCommand cmd = new SqlCommand(queryString, conn);
conn.Open();
conn.Close();
}
}
您永远不会执行 SQL命令:
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
并且您的连接字符串是错误的(用双引号引起来):
string DbConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["RBConnectionString"].ConnectionString;
好吧,在不知道错误的情况下,我还是会尝试一下。
string DbConnectionString = "System.Configuration.ConfigurationManager.ConnectionStrings['RBConnectionString'].ConnectionString";
应该
string DbConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings["RBConnectionString"].ConnectionString;
正如亚当所说,您实际上从未执行过查询。 Sql_Connection方法仅打开一个连接,然后再次关闭它,而实际上并未执行任何操作。
尝试以下方法:
public void Sql_Connection(string queryString)
{
using( SqlConnection conn = new SqlConnection(DbConnectionString) )
{
SqlCommand cmd = new SqlCommand(queryString, conn);
conn.Open();
cmd.ExecuteNonQuery();
}
}
检查您的连接字符串代码一定不能是从web.config获取连接字符串的类的字符串,因此应该像这样
字符串DbConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings [“ RBConnectionString”]。ConnectionString;
您没有执行SQlCommand,因此它将插入数据,执行此操作
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
这不是原因,而是最佳实践,不要使您的代码容易受到SQLINjection的影响,请尝试本文
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.