我在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");
答案 0 :(得分:0)
请为每个过程使用不同的SqlConnections。