sql >> データベース >  >> RDS >> Mysql

データベースに入るときのnull値の例外

    明示的な文字列値を連結しているため、エラーを回避するためにパラメータ化されたクエリを使用する必要があります。また、ロジックが間違っています。これを行うと、正規化されていないデータが発生し、DB管理者が並べ替えるのが恐ろしくなります。代わりにこれを使用することを検討します:

    SqlConnection conn = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\Users\rnawa_000\Documents\Visual Studio 2013\Projects\Random\Random\sales.mdf;Integrated Security=True");
    
    SqlCommand cmd = new SqlCommand();
    
    cmd.Connection = conn;
    conn.Open();
    
    foreach (string item in listBox1.Items)
    {
        cmd.CommandText = "insert into salesTB (Date,Time,Name,Quantity,Cost,Purchase) values (@date, @time, @name, @quantity, @cost, @purchase)";
    
        cmd.Parameters.Add(new SqlParameter("date", date.Text));
        cmd.Parameters.Add(new SqlParameter("time", time.Text));
        cmd.Parameters.Add(new SqlParameter("name", txtName.Text));
        cmd.Parameters.Add(new SqlParameter("quantity", listBox1.Items.Count));
        cmd.Parameters.Add(new SqlParameter("cost", txtCost.Text));
        cmd.Parameters.Add(new SqlParameter("purchase", item.Substring(0,10)));
    
        cmd.ExecuteNonQuery();
        cmd.Clone();
    }
    
    conn.Close();
    

    テストされていませんが、アイデアは得られます。



    1. 関数をOracleからPostgreSQLに変換する

    2. Explain Planを使用してクエリを最適化する方法は?

    3. MySQLInnoDBとMyISAMの複雑なクエリパフォーマンス

    4. python:Oracleのwallet/tnsnamesを使用してOracleデータベースに接続する