【发布时间】:2015-03-01 21:28:27
【问题描述】:
我的 asp.net 没有访问 .mdf 数据库文件。
本地站点可以工作,但是当您附加服务器应用程序时,当您单击写入数据库的按钮 (ADD/MYORDERS)(访问链接)时,该应用程序已关闭。 我的网站托管在HERE
这是连接配置:
<add name="ConnectionString"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30"
providerName="System.Data.SqlClient" />
这是按钮的代码
protected void IB_ADDPred0_Click(object sender, ImageClickEventArgs e)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
con.Open();
string insCmd = "Insert into Orders (RoomNo, ProductNo, ProductName, Price) values (@RoomNo, @ProductNo, @ProductName, @Price)";
SqlCommand addOrder = new SqlCommand(insCmd, con);
addOrder.Parameters.AddWithValue("@RoomNo", computer_name[0].ToString());
addOrder.Parameters.AddWithValue("@ProductNo", ProductNo0.Text);
addOrder.Parameters.AddWithValue("@ProductName", NamePred0.Text);
addOrder.Parameters.AddWithValue("@Price", PricePred0.Text);
try
{
addOrder.ExecuteNonQuery();
con.Close();
}
catch (Exception er)
{
Response.Write("Error. Try again.");
}
}
Web应用在本地测试正常,但服务器问题。
这是我的 web.config:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
<sessionState cookieless="true" regenerateExpiredSessionId="true" />
<customErrors mode="Off"/>
</system.web>
<connectionStrings>
<add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
【问题讨论】:
-
您应该查看Can we stop using AddWithValue() already? 并停止使用
.AddWithValue()- 它可能会导致意想不到和令人惊讶的结果... -
LocalDB是一种仅限开发解决方案 - 它不旨在用于生产环境,并且不允许远程连接.您需要至少使用 SQL Server Express(并启用远程连接,因为这些默认情况下是 OFF对于 Express) 来托管您的数据库 -
应用程序崩溃你有比这更有意义的信息吗?例如,您可以打印异常消息而不是写 Error Try Again 吗?
-
Price is INT 可以做些什么来不适应整个应用程序吗?
-
这是我的 web.config
<configuration> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> <sessionState cookieless="true" regenerateExpiredSessionId="true" /> <customErrors mode="Off"/> </system.web> <connectionStrings> <add name="ConnectionString" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" /> </connectionStrings>