SqlDatasource中的空值

时间:2013-02-18 03:42:16

标签: c# asp.net database sql-server-2008 datasource

在另一个页面上设置我的SqlDataSource以显示值后,在评论页面上输入两次测试值时,它们会显示为2个空白。

我认为我在SQL Server数据库值中将它们放入表中时遗漏了什么?

我不确定这里需要哪些信息,所以请通知我。

提前致谢

EDIT#1用于CODE的用户请求

protected void btnSend_Click(object sender, EventArgs e)
{
    Page.Validate("vld2");
    SendMail();
    lblMsgSend.Visible = true;

    //SQL Server Database
    SqlConnection conn; //manages connection to database
    SqlCommand cmd; //manages the SQL statements

    string strInsert; //SQL INSERT Statement

    try
    {
            //create a connection object
            conn = new SqlConnection("Data Source=localhost\\sqlexpress;" +
                                     "Initial Catalog=RionServer;" +
                                     "Integrated Security=True;");
            //Build the SQL INSERT Document
            strInsert = "INSERT INTO CommentsAdmin (Name,Phone,Email,Comments)"
                + "VALUES(@Name,@Phone,@Email,@Comments);";

            //associate the INSERT statement with the connection
            cmd = new SqlCommand(strInsert, conn);

            //TELL the SqlCommand WHERE to get the data from
            cmd.Parameters.AddWithValue("Name", txtName.Text);
            cmd.Parameters.AddWithValue("Phone", txtPhone.Text);
            cmd.Parameters.AddWithValue("Email", txtEmail.Text);
            cmd.Parameters.AddWithValue("Comments", txtComment.Text);

            //open the connection
            cmd.Connection.Open();

            //run the SQL statement
            cmd.ExecuteNonQuery();

            //close connection
            cmd.Connection.Close();

            //display status message on the webpage
            lblMsgSend.Text = "Thank you for the comment! Please hit the 'Return to Main Page' to return to the Main Page!";
        }
        catch (Exception ex)
        {
            lblMsgSend.Text = ex.Message;
        }

    txtPhone.Text = "";
    txtEmail.Text = "";
    txtName.Text = "";
    txtComment.Text = "";
}

编辑#2

数据库中的名称,电话,电子邮件和评论的值似乎是空的,当我测试查询时,我认为它正在注册条目,只是没有将值带入SQL?

编辑#3

由于编码员和rs的建议,我已经完成了他们所说的话。现在我收到了这个错误。 “字符串或二进制数据将被截断。该语句已被终止。” 代码也已更新。

编辑#4

这个问题是对SQL Server Error, 'Keyword not supported 'datasource'的跟进。

1 个答案:

答案 0 :(得分:1)

删除与此""类似的所有txtPhone.Text = "";,然后将SQL值作为服务器输入,然后输入空值。因此,即使您为文本框提供了一些值,它也会获取预定义的NULL值,并且不会输入任何一个值。