【问题标题】:Inserting data into local database using parameters使用参数将数据插入本地数据库
【发布时间】:2015-04-10 15:03:49
【问题描述】:

大家好,我已经被困在这两天了。我正在使用Visual Studio 2013 并制作了一个 Windows 窗体项目。然后使用以下代码,我尝试插入值,但“显示表数据”选项会生成一个包含空值的表。我做错了什么?

        SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.
 ConnectionStrings["WindowsFormsApplicationtodatabase.Properties.Settings.DatabasewebConnectionString"].ConnectionString);

        conn.Open();

        using (conn)
        {
            SqlCommand cmd = new SqlCommand("INSERT INTO webtable (Id, url_name) VALUES (@id, @url)");
            cmd.CommandType = CommandType.Text;
            cmd.Connection = conn;
            cmd.Parameters.AddWithValue("@url", "nagia");
            cmd.Parameters.AddWithValue("@id", "9");

            cmd.ExecuteNonQuery();
        }

【问题讨论】:

  • webtable 有两列 Id 和 url_name 都是 varchar 类型的......而且我还记得每次都刷新

标签: c# mysql


【解决方案1】:

你可以试试这个

 conn.Open();

 string strQuery = "INSERT INTO webtable (Id, url_name) VALUES (@id, @url)";
 SqlCommand cmd = new SqlCommand(strQuery, conn);
 cmd.Parameters.AddWithValue("@url", "nagia");
 cmd.Parameters.AddWithValue("@id", "9");
 cmd.Connection = conn;
 cmd.ExecuteNonQuery();
 conn.Close();

【讨论】:

  • 复制粘贴这个...表格中仍然没有数据出现
  • 只需在 sql 命令行中将 con 更改为 conn 即可。它对我来说很好。
  • 我确实改变了...为什么它对我不起作用。在 Windows 窗体项目中添加数据库时,我添加了“基于服务的数据库”......我希望这不会造成麻烦?
  • 我知道我的连接很好,因为当我手动添加一些数据(单击表格给出了选项)并在我的 c# 文件中运行选择查询时......它工作正常......但是数据没有通过我的代码插入...为什么?
  • 在将数据插入数据库时​​出现错误?
【解决方案2】:

尝试为参数分配数据类型。

参考这个,

[SqlCommand Parameters Add vs. AddWithValue

【讨论】:

  • 您在插入时是否遇到任何错误。如果您得到任何东西,请发布错误
  • 当我同时运行插入和选择时,就像这个字符串 strQuery = "INSERT INTO webtable (Id, url_name) VALUES (@id, @url)"; SqlCommand cmd = new SqlCommand(strQuery, conn); cmd.Parameters.AddWithValue("@url", "nagia"); cmd.Parameters.AddWithValue("@id", "9"); cmd.Connection = 连接; cmd.ExecuteNonQuery(); String qry = "select * from dbo.webtable"; SqlDataAdapter da = new SqlDataAdapter(qry, conn);数据集 ds = new DataSet(); da.Fill(ds);
  • 它在选择中显示插入的数据,但不在表格中,如果我再次运行选择...什么都没有
  • 尝试使用事务提交您的数据 SqlTransaction transaction = null;交易 = con.BeginTransaction(); cmd.Transaction = 交易; //执行你的查询 transaction.Commit();
【解决方案3】:

你可以试试这个代码..

using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["WindowsFormsApplicationtodatabase.Properties.Settings.DatabasewebConnectionString"].ConnectionString));
{

SqlCommand cmd = new SqlCommand("INSERT INTO webtable (Id, url_name) VALUES (@id, @url)",conn);

cmd.Parameters.AddWithValue("@url", "nagia");
cmd.Parameters.AddWithValue("@id", "9");
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();

}

【讨论】:

  • 对不起,它的 conn.Open();和 conn.Close();我已经编辑了代码试试看。
猜你喜欢
  • 2016-11-17
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
相关资源
最近更新 更多