插入查询后,选择查询不会从db检索信息

时间:2014-01-07 17:20:52

标签: c# select visual-studio-2012 sql-server-2012 insert-into

我在vs 2012中构建了一个应用程序,它应该能够从sql server 2012数据库中选择,插入,更新,删除信息。起初我使用sql server将一些数据放入db。我构建了我的选择查询来测试它们并且它们有效。在此之后,我构建了我的插入查询并测试了它。它也有效。但是,如果我尝试检索已插入的数据,它不会检索任何内容。

以下是我的一个选择查询的示例:

    query = "SELECT P.Denumire, P.Pret, P.Cantitate, P.Reducere, P.Pret_redus, " +
                 "S.Stoc_magazin, S.Stoc_depozit " +
             "FROM Produse P, Stoc_intern S " +
             "WHERE S.ID_produs IN " +
                 "(SELECT P.ID_produs " +
                  "FROM Produse " +
                  "WHERE P.Denumire LIKE '%" + tb_s_name.Text + "%')";
    SqlDataAdapter da = new SqlDataAdapter(query, c);
    SqlCommandBuilder cb = new SqlCommandBuilder(da);
    DataTable dt = new DataTable();
    da.Fill(dt);
    q_res.DataSource = dt;

这是我的一个插入查询的例子:

    query = "Insert INTO Produse " +
               "(Denumire, Pret, Cantitate, Reducere) " +
               "Values(@Denumire, @Pret, @Cantitate, @Reducere)";
    SqlCommand cmd = c.CreateCommand();
    cmd.Connection = c;
    cmd.CommandText = query;
    cmd.Parameters.Add("@Denumire", SqlDbType.NVarChar, 50).Value = tb_op_name.Text;
    cmd.Parameters.Add("@Pret", SqlDbType.Float).Value = tb_op_pv.Text;
    cmd.Parameters.Add("@Cantitate", SqlDbType.NVarChar, 50).Value = tb_op_cantitate.Text;
    cmd.Parameters.Add("@Reducere", SqlDbType.Float).Value = tb_op_red.Text;
    cmd.ExecuteNonQuery();

两个查询都有效,只是如果我提交插入查询并在尝试使用select查询选择某些内容之后,尽管数据库中存在信息,但它不会检索任何内容。我在从我的vs build app执行插入查询后,通过在sql server中打开db来检查。

这里也是连接字符串:

    SqlConnection c = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + Application.StartupPath + @"\DB\Supermarket.mdf;Integrated Security=True;MultipleActiveResultSets=true;Connect Timeout=30");

1 个答案:

答案 0 :(得分:0)

请为每个过程使用不同的SqlConnections。