我目前正在完成一个课程的 asp.net 项目,并开始注意到其中一个必要条件的主要缺陷。应用程序应提出五个问题并将答案写入数据库,然后将调查结果显示给用户。
这是我到目前为止所尝试的:
public static string GetConnectionString()
{
string connStr = String.Format("server={0}; user id={1}; password={2};" + "database= -table to be accessed-; pooling=false",
"-database server-", "-user-", "-password-");
return connStr;
}
protected void Button1_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string sex = gender.Text;
string likes = interests.Text;
string edu = education.Text;
string nation = nationality.Text;
string userage = age.Text;
MySql.Data.MySqlClient.MySqlConnection mycon;
mycon = new MySqlConnection(GetConnectionString());
try
{
MySqlCommand cmd = new MySqlCommand("INSERT INTO survey (gender, age, birthplace, occupation, winner) VALUES ('" + sex + ", " + likes + ", " + edu + ", " + userage + "')", mycon);
cmd.ExecuteNonQuery();
mycon.Open();
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
finally
{
mycon.Close();
}
}
}
我继续用占位符替换了数据库信息。
数据库是 MySql 并托管在外部服务器上。
我遇到的问题是代码可以编译,但是信息没有写入数据库。我不确定这是否是因为我仍在测试代码并且尚未将 Web 应用程序上传到服务器,或者它只是错误的事实。
就显示结果而言,如果上面的代码是正确的,那只是更改 sql 查询的问题,对吗?
提前感谢您的洞察力。