- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
将数据插入数据库的最佳方式是什么?
这是我的,但这是错误的..
cmd.CommandText = "INSERT INTO klant(klant_id,naam,voornaam) VALUES(@param1,@param2,@param3)";
cmd.Parameters.Add(new SqlParameter("@param1", klantId));
cmd.Parameters.Add(new SqlParameter("@param2", klantNaam));
cmd.Parameters.Add(new SqlParameter("@param3", klantVoornaam));
向列表框添加数据的函数
http://www.pictourl.com/viewer/37e4edcf (链接失效)
但没有进入数据库..
http://www.pictourl.com/viewer/4d5721fc (链接失效)
完整功能:
private void Form1_Load(object sender, EventArgs e)
{
conn2 = new SqlConnection();
conn2.ConnectionString = ConfigurationManager.ConnectionStrings["connSpionshopString"].ConnectionString;
}
private void button2_Click(object sender, EventArgs e)
{
string sqlCmd = "SELECT naam,voornaam,klant_id FROM klant;";
SqlCommand cmd = new SqlCommand(sqlCmd, conn2);
conn2.Open();
using(SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
listBox2.Items.Add(reader.GetString(0) + " " + reader.GetString(1) + " (" + reader.GetInt16(2) + ")");
}
}
conn2.Close();
}
private void button4_Click(object sender, EventArgs e)
{
int klantId = Convert.ToInt32(textBox1.Text);
string klantNaam = textBox2.Text;
string klantVoornaam = textBox3.Text;
conn2.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn2;
cmd.CommandText = "INSERT INTO klant(klant_id, naam, voornaam) VALUES(@param1,@param2,@param3)";
cmd.Parameters.AddWithValue("@param1", klantId);
cmd.Parameters.AddWithValue("@param2", klantNaam);
cmd.Parameters.AddWithValue("@param3", klantVoornaam);
cmd.ExecuteNonQuery();
conn2.Close();
}
最佳答案
尝试确认数据库中每个参数的数据类型(SqlDbType),然后这样做;
using(SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["connSpionshopString"].ConnectionString))
{
connection.Open();
string sql = "INSERT INTO klant(klant_id,naam,voornaam) VALUES(@param1,@param2,@param3)";
using(SqlCommand cmd = new SqlCommand(sql,connection))
{
cmd.Parameters.Add("@param1", SqlDbType.Int).Value = klantId;
cmd.Parameters.Add("@param2", SqlDbType.VarChar, 50).Value = klantNaam;
cmd.Parameters.Add("@param3", SqlDbType.VarChar, 50).Value = klantVoornaam;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
}
关于c# - 使用 SQLCommand 插入 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12939501/
我需要使用 ADO.NET 将一系列命令发送到 SQL 2008,以便逐个执行。我应该为我发送的每个 SQL 创建一个新的 SQLCommand 吗?或者重用相同的 SQLCommand 并仅更改 C
我们可以在将参数传递给 sql 查询时同时使用这两种方法吗? 那么它们之间有什么区别呢? 最佳答案 MSDN article on AddWithValue() 解释两者之间的差异。内是对细微差异的解
我已经彻底搜索,但找不到 SET 的方法我的列数据到我使用 SQL 初始化的变量 UPDATE陈述。 这是导致问题的一段代码: int maxId; SqlConnection dataConnect
使用 SqlParameters是防止数据库查询中的 SQL 注入(inject)的推荐方法。我在哪里可以找到内部清理这些参数的代码/函数?我想在我的自定义实现中重新使用这个函数。我尝试使用 Refl
我目前正在使用 SQL Server 2014 中的 C# 脚本更新和读取值。当使用 SQlCommand 执行非查询时,运行脚本时会弹出错误: IndexOutOfRangeException: A
我最近一直在做一个旧项目。我在项目中发现以前的同事已经创建了一些用于打开与数据库的连接的常用方法。但是我怀疑这个过程是否真的在查询完成后通过 IDispose 处理连接。 方法如下: 连接数据库。 /
抱歉格式化,有点粗糙 我在 C# 中通过 SQLCommand 插入语句时遇到问题。插入完成后,ID 将返回给程序。 我填充了一些变量并编写了一个 SQLCommand。考虑了所有参数。 using
我有以下 SQL 语句(如果我在我的数据库中像这样执行它,它会起作用): IF EXISTS (SELECT * FROM dbo.PopularityPokemon WHERE Dex_ID = '
我有一个 C# 程序,我在其中创建了各种类,所有类都需要调用数据库。所以我决定创建一个静态类来处理所有调用,以便我可以非常轻松地应用影响深远的更改。在那个类中,我有调用 SqlCommand 各个部分
试图只返回前几行,因为我的数据库太大了,但是当我测试我的 SQL 时,我做了一个 select * 并且只返回了第一行。 SqlCommand sqlCmd = new SqlCommand(); S
我对从 SqlCommand 返回的值有疑问,我有这段代码: string sqlSelect = "Select TOP 1 Quotation.SentToSupp as SentToSupp F
我正在 .Net 中创建测试方法,需要更改数据库以设置测试场景。我们使用 SqlCommands 发送查询来更改数据库,为此连接字符串是受信任的连接字符串。所有 DROPS 和 ALTER 查询对于表
我试图通过 SqlCommand 将表名作为参数传递给我的查询,但它似乎不起作用。这是我的代码; SqlConnection con = new SqlConnection( "server=.;us
当我在 SSMS 中执行以下命令时,我得到了预期的结果 - SELECT * FROM [Event] WHERE Active = 'True' AND [Name] LIKE '%P%' 即显示名
我在 C# 中运行一条返回一个值(字符串)的 SQL 命令。然后我试图将它保存到一个变量,但它总是抛出这个异常: A first chance exception of type 'System.In
我有这个 SqlCommand,但我不知道如何给出返回值? string param = Request.QueryString["id"]; System.Data.SqlClient.SqlCon
我对使用 C# 和 ASP.NET 还很陌生,我很好奇在 SQL 数据库上运行多个查询时是否有命名 SqlCommand 的约定。例如,我已经创建了我的 SqlConnection,我希望调用一个函数
好吧,这是微不足道的,但它一直困扰着我。我有这样的代码 oCmd = new SqlCommand("getBooking", oCon); oCmd.CommandType = CommandTyp
如果我有这个变量: int value = 4; 将作为一些 sql 参数传递: SqlCommand sqlcmd = new SqlCommand(); sqlcmd.Parameters.Add
我使用以下代码从 SQL Server 表中进行选择: using (SqlConnection con = new SqlConnection(SqlConnectionString)) {
我是一名优秀的程序员,十分优秀!