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

首先,最好使用初始化目录而不是附加文件(常见做法)其次使用 using 来处理您的资源第三,最好在带有参数的存储过程中进行 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 回答