【发布时间】:2015-05-03 20:49:41
【问题描述】:
我说得很清楚,我正在尝试通过 C# 将值插入数据库,但它无法使用我拥有的代码。无需搁置我的问题。我以为这可能是一个初学者可以寻求帮助的地方,而不是被人看不起!!!
我正在尝试通过 asp.net 和 C# 将值插入数据库。我有一个结合了文本框和单选按钮的基本调查表。当我运行代码来插入值时,单选按钮值会被很好地插入。我在使用文本框值时遇到问题。
ASP.NET 标记:
Date of Flight <asp:TextBox ID="flightdate" runat="server" /><br />
Time of Flight <asp:TextBox ID="flightTime" runat="server" /><br />
Flight Number <asp:TextBox ID="flightNum" runat="server" /><br />
Flight Destination <asp:TextBox ID="flightDest" runat="server" /><br />
<strong>Friendliness of customer staff: </strong>
<asp:RadioButtonList ID="question1" runat="server">
<asp:ListItem Value="No Opinion" Selected="True">No Opinion</asp:ListItem>
<asp:ListItem Value="Poor">Poor</asp:ListItem>
<asp:ListItem Value="Fair">Fair</asp:ListItem>
<asp:ListItem Value="Good">Good</asp:ListItem>
<asp:ListItem Value="Excellent">Excellent</asp:ListItem>
</asp:RadioButtonList>
以及背后的 C# 代码:
string flightDate = Request.QueryString["flightDate"];
string flightTime = Request.QueryString["flightTime"];
string flightNum = Request.QueryString["flightNum"];
string flightDest = Request.QueryString["flightDest"];
string selectedFriend = "";
string selectedSpace = "";
string selectedComfort = "";
string selectedCleanliness = "";
string selectedNoise = "";
for (int i = 0; i < question1.Items.Count; ++i)
{
if (question1.Items[i].Selected)
{
selectedFriend = question1.Items[i].Value;
}
}
SqlConnection dbConnection = new SqlConnection("Data Source=IDEA-PC\\SQLEXPRESS; Integrated Security=True");
try
{
dbConnection.Open();
dbConnection.ChangeDatabase("airlineSurvey");
string results = "INSERT INTO results(flightDate, flightTime, flightNumber, flightDestination, friendliness) " + "VALUES('" + flightDate + "', '" + flightTime + "', '" + flightNum + "', '" + flightDest + "', '" + selectedFriend + "')";
SqlCommand sqlCommand = new SqlCommand(results, dbConnection);
sqlCommand.ExecuteNonQuery();
regMessage.Text = "<p>Thank you for your feedback!</p>";
}
catch (SqlException exception)
{
Response.Write("<p>Error code " + exception.Number + ": " + exception.Message + "</p>");
}
dbConnection.Close();
}
【问题讨论】:
-
SQL Injection alert - 您应该不将您的 SQL 语句连接在一起 - 使用 参数化查询 来避免 SQL 注入
-
文本框发生了什么?您并没有真正说出问题所在。
-
初学者可以在这里找到帮助,但他们应该先阅读How to Ask,然后再提出将被搁置的糟糕问题(直到您更正问题)。然后可以重新提出问题。您从未说过您在使用文本框时遇到了什么“问题”。请注意,即使您没有提出好的问题,您也得到了很好的答案。
-
我说谢谢
标签: c# asp.net sql-server