我正在尝试更改使用MySql的SQL连接。使用Dapper从运行在VPS上的MySQL数据库中检索数据。我使用MySql连接以下连接类没有问题。数据
class Connection
{
MySqlConnection conn;
static string host = "Fake Name";
static string database = "Fake Database";
static string userDB = "Fake User";
static string password = "Fake Password";
public bool Open()
{
try
{
strProvider = "Server=" + host + ";Database=" + database + ";User ID=" + userDB + ";Password=" + password;
conn = new MySqlConnection(strProvider);
conn.Open();
return true;
}
catch (Exception er)
{
MessageBox.Show("Connection Error ! " + er.Message, "Information");
}
return false;
}
public void Close()
{
conn.Close();
conn.Dispose();
}
public DataSet ExecuteDataSet(string sql)
{
try
{
DataSet ds = new DataSet();
MySqlDataAdapter da = new MySqlDataAdapter(sql, conn);
da.Fill(ds, "result");
return ds;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return null;
}
public MySqlDataReader ExecuteReader(string sql)
{
try
{
MySqlDataReader reader;
MySqlCommand cmd = new MySqlCommand(sql, conn);
reader = cmd.ExecuteReader();
return reader;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return null;
}
public int ExecuteNonQuery(string sql)
{
try
{
int affected;
MySqlTransaction mytransaction = conn.BeginTransaction();
MySqlCommand cmd = conn.CreateCommand();
cmd.CommandText = sql;
affected = cmd.ExecuteNonQuery();
mytransaction.Commit();
return affected;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return -1;
}
}
然而,我正在尝试切换到Dapper,以便可以安全地管理查询。我正在使用下面的代码
DataAccess db = new DataAccess();
bookingList = db.GetBookings(BookingCalendar.SelectionStart.ToString("yyyy-MM-dd"));
public class DataAccess
{
public List<Booking> GetBookings(string date)
{
using (IDbConnection connection = new System.Data.SqlClient.SqlConnection(Helper.connectionString("Fake Name")))
{
return connection.Query<Booking>($"select * from Bookings WHERE Date ='{date}'").ToList();
}
}
}
public static class Helper
{
public static string connectionString(string name)
{
return ConfigurationManager.ConnectionStrings[name].ConnectionString;
}
}
<connectionStrings>
<add name="Fake Name" connectionString="Server=Fake IP; Database=Fake Database; User Id=Fake User; Password=Fake Password providerName=System.Data.SqlClient"/>
</connectionStrings>
但在尝试打开连接时,我在15秒后出现路径未找到错误。我不知道为什么会发生这种情况,因为这两个连接字符串是相同的。如有任何帮助,我们将不胜感激