【发布时间】:2011-07-21 06:10:38
【问题描述】:
我试图在页面加载中使用我的函数实现插入语句并返回。不知道如何在插入的同时将我插入 mysql 的内容一次又一次地画出来?
代码:
public partial class UserProfileWall : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string theUserId = Session["UserID"].ToString();
using (OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite2; User=user_name; Password=password_here;"))
{
cn.Open();
using (OdbcCommand cmd = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + theUserId + " ORDER BY idWallPosting DESC", cn))
using (OdbcDataReader reader = cmd.ExecuteReader())
{
var divHtml = new System.Text.StringBuilder();
while (reader.Read())
{
divHtml.Append("<div id=test>");
divHtml.Append(String.Format("{0}", reader.GetString(0)));
divHtml.Append("</div>");
}
test1.InnerHtml = divHtml.ToString();
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string theUserId = Session["UserID"].ToString();
OdbcConnection cn = new OdbcConnection("Driver={MySQL ODBC 3.51 Driver}; Server=localhost; Database=gymwebsite2; User=user_name; Password=password_here;");
cn.Open();
OdbcCommand cmd = new OdbcCommand("INSERT INTO WallPosting (UserID, Wallpostings) VALUES (" + theUserId + ", '" + TextBox1.Text + "')", cn);
cmd.ExecuteNonQuery();
// {
// using (OdbcCommand md = new OdbcCommand("SELECT Wallpostings FROM WallPosting WHERE UserID=" + theUserId + "", cn))
// using (OdbcDataReader reader = cmd.ExecuteReader())
// {
// var divHtml = new System.Text.StringBuilder();
// while (reader.Read())
// {
// divHtml.Append("<div id=test>");
// divHtml.Append(String.Format("{0}", reader.GetString(0)));
// divHtml.Append("</div>");
// }
// test1.InnerHtml = divHtml.ToString();
// }
// }
//}
}
我确实尝试了注释掉的行,但我得到了多个插入,并且页面上没有重新加载。插入后有没有简单的方法获取pageload函数?
【问题讨论】:
-
目前还不是很清楚到底是什么问题 - 什么插入?进入数据库?在页面上?问题出在哪里?初始负载?回传?
-
向下滚动插入按钮单击事件中的代码,这需要用户在 mysql 中键入和插入的内容,然后我需要以某种方式重新加载页面,因为在插入和发布时会丢失用户文本通过我的页面加载功能返回信息,即选择循环
-
另一方面,您应该将连接字符串移动到 web.config 中,或者至少移动到某个静态变量中。