c# - 我有一个 C# Windows 窗体可以将值输入到 SQL Server 数据库中,但它不会工作,但没有错误?
问题描述
我创建了一个简单的 Windows 表单来将数据输入到 SQL Server 数据库表中。表面上看起来很好,没有错误,但是提交数据到表格后,数据并没有出现。我查看了连接指向的位置,这似乎很好。所以我现在被困住了。任何帮助都会很棒。
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace WindowsFormsApp7
{
public partial class Onbutton1_Click : Form
{
public Onbutton1_Click()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
String str =
"den1.mssql7.gear.host;database=generic;UID=generic;password=Generic";
String cmdText1 = "INSERT INTO TEST1 (Name) VALUES ('%'+ @Name + '%')";
String cmdText2 = "INSERT INTO TEST1 (Age) VALUES ('%'+ @Age + '%')";
SqlConnection con = new SqlConnection(str);
SqlCommand cmd1 = new SqlCommand(cmdText1, con);
SqlCommand cmd2 = new SqlCommand(cmdText2, con);
cmd1.Parameters.Add("@Name", SqlDbType.VarChar, 255).Value = textBox1.Text;
cmd2.Parameters.Add("@Age", SqlDbType.VarChar, 255).Value = textBox2.Text;
con.Open();
cmd1.ExecuteNonQuery();
cmd2.ExecuteNonQuery();
DataSet ds = new DataSet();
con.Close();
}
catch (Exception es)
{
MessageBox.Show("Complete");
}
}
}
解决方案
你的问题在这里
String cmdText1 = "INSERT INTO TEST1 (Name) VALUES ('%'+ @Name + '%')";
String cmdText2 = "INSERT INTO TEST1 (Age) VALUES ('%'+ @Age + '%')";
这需要
String cmdText1 = "INSERT INTO TEST1 (Name) VALUES (@Name)";
String cmdText2 = "INSERT INTO TEST1 (Age) VALUES (@Age)";
顺便说一句,很好奇为什么这是两个单独的陈述。如果要将 Name 和 Age 插入单行,则需要是单个查询。
String cmdText = "INSERT INTO TEST1 (Name,Age) VALUES (@Name,@Age)";
cmd1.Parameters.Add("@Name", SqlDbType.VarChar, 255).Value = textBox1.Text;
cmd1.Parameters.Add("@Age", SqlDbType.VarChar, 255).Value = textBox2.Text;
推荐阅读
- python - 如何在predict_proba python中获取单个项目
- jquery - 在vue js中单击父级时如何将类绑定到子级
- c++ - 用opengl模拟一辆汽车超车
- assembly - 在不使用 MOVZX/MOVSX 的情况下在汇编中进行零/符号扩展
- java - e.printStackTrace() 的替代方法和示例代码将有所帮助
- windows - Windows 任务计划程序控制台访问 Kubernetes Pod?
- c++ - 为什么将 xvalue 转换为非常量左值引用时 gcc 和 clang 中的编译器错误不一致?
- sql - 插入和合并表
- haskell - 在 Haskell 中,如何在语句 [a = b :: A] 中实现从 [b] 到 [a] 的转换功能
- javascript - HTML 选项未显示