0
我在vs 2012中構建了一個應用程序,該應用程序應該能夠從sql server 2012數據庫中選擇,插入,更新和刪除信息。起初,我使用sql server將一些數據放入數據庫。我建立了我的選擇查詢來測試它們,並且它們工作。在此之後,我建立了我的插入查詢並進行了測試。它也可以。但是,如果我嘗試檢索已插入的數據,它不會檢索任何內容。在插入查詢後,選擇查詢不會從數據庫檢索信息
這是我的選擇查詢的一個示例:
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();
兩個查詢工作,它只是如果我提交插入查詢並在嘗試選擇某個選擇查詢後,儘管信息存在於數據庫中,但它不檢索任何內容。我檢查通過在我的VS內置應用程序執行插入查詢後打開SQL服務器中的數據庫。
這裏的連接字符串也:
SqlConnection c = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=" + Application.StartupPath + @"\DB\Supermarket.mdf;Integrated Security=True;MultipleActiveResultSets=true;Connect Timeout=30");
您能向我們展示您正在使用的**連接字符串**嗎? –
使用int i = cmd.ExecuteNonQuery();運行後檢查I的值。如果它爲零,則不插入行。 –
我添加了連接字符串@marc_s。我驗證了執行後cmd.ExecuteNonQuery()具有的值,它是1,因此一行受到影響,就像我說的那樣,插入工作。選擇不檢索插入的內容。 –