gpt4 book ai didi

如果使用具有相对路径的连接字符串,C# insert 会暂时工作

转载 作者:太空宇宙 更新时间:2023-11-03 12:34:58 25 4
gpt4 key购买 nike

<分区>

[已解决]

问题在于相对路径。我应该使用位于项目文件夹中的 mdf 而不是 bin 中的 mdf

我尝试通过 Windows 窗体程序将一些数据插入数据库。问题是,如果我在连接字符串中使用相对路径,数据只会在程序运行时保留在表中。否则,在连接字符串中使用绝对路径,效果很好,但我确实需要使用相对路径。

这里我在表单的构造函数中设置了相对路径。

public Form1()
{
InitializeComponent();

string executable = System.Reflection.Assembly.GetExecutingAssembly().Location;
string path = (System.IO.Path.GetDirectoryName(executable));

AppDomain.CurrentDomain.SetData("DataDirectory", path);

update();
}

应用程序配置:

<connectionStrings>
<add name="musicConnString"
connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\music.mdf;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>

最后,我在这里插入:

string connectionString = ConfigurationManager.ConnectionStrings["musicConnString"].ConnectionString;

using (SqlConnection sq = new SqlConnection(connectionString))
using (SqlCommand sc = new SqlCommand("INSERT INTO music VALUES(@artist, @album, @songs, @genre, @cover, @year)", sq))
{
sq.Open();

sc.Parameters.AddWithValue("@artist", artistTxt.Text.Trim());
sc.Parameters.AddWithValue("@album" , albumTxt.Text.Trim());
sc.Parameters.AddWithValue("@songs" , songsTxt.Text.Trim());
sc.Parameters.AddWithValue("@genre" , genreTxt.Text.Trim());
sc.Parameters.AddWithValue("@year" , yearTxt.Text.Trim());
sc.Parameters.AddWithValue("@cover" , imageToByte(albumCover));

if (sc.ExecuteNonQuery() > 0)
{
this.Dispose();
}
else
{
MessageBox.Show("There was a problem with the insertion.");
}
}

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com