0

サービスベースのデータベースを Windows アプリケーションに接続し、次のコードを使用してデータを保存しました。正しく動作していますが、アプリケーションを閉じて再度開くと、保存したデータが自動的に消去されました。

データを永続的に保存する方法...

string c = Application.StartupPath + "\\Stock.mdf";
SqlConnection con = new SqlConnection(@"AttachDbFilename='"+c+"';Integrated Security=True;Connect Timeout=30;User Instance=True");

con.Open();

SqlCommand cmd = new SqlCommand("Insert into Codedetails values('TF','" + txt_productcode.Text + "','" + txt_productname.Text + "','" + txt_brandcode.Text + "','" + txt_brandname.Text + "')", con);
cmd.ExecuteNonQuery();
con.Close();
4

1 に答える 1

1

最初に、添付ファイルの代わりに init カタログを使用することをお勧めします (一般的な方法)。次に、使用してリソースを破棄します。次に、パラメーターを受け取るストアド プロシージャで SQL クエリを実行することをお勧めします (データベース内の SQL と vs2010 内の C# ;- )

string c = Application.StartupPath + "\\Stock.mdf";
string connectionString = @"AttachDbFilename='"+c+"';Integrated Security=True;Connect Timeout=30;User Instance=True";
using (SqlConnection connection = new SqlConnection(connectionString))
    {
        con.Open();
        using (SqlCommand command = new SqlCommand(Insert into Codedetails values('TF','@productcode','@productname','@brandcode','@brandname'), con))
            {       
        command.Parameters.Add(new SqlParameter("productcode", txt_productcode.Text));
        command.Parameters.Add(new SqlParameter("productname", txt_productcode.Text));
        command.Parameters.Add(new SqlParameter("brandcode", txt_brandcode.Text));
        command.Parameters.Add(new SqlParameter("brandname", txt_brandname.Text));
        command.ExecuteNonQuery();
        }
    }
于 2012-09-29T07:16:35.843 に答える