如何修改数据集/数据库中的检索

时间:2014-06-24 07:05:30

标签: c# asp.net sql-server

我是初学者所以我正在尝试一个例子来理解,所以我非常感谢你的帮助。

我有以下Web应用程序结构:

enter image description here

我有以下代码用于单击“保存”按钮,该按钮将3个文本框中写入的文本保存到数据库中表Trial的3个字段中:

protected void AddProgramButton_Click(object sender, System.EventArgs e)
{
    DataBinder ds = new DataBinder();
    sqlcon.Open();
    SqlCommand sqlcmd = new SqlCommand("INSERT INTO Trial VALUES (@FirstColumn, @SecondColumn , @ThirdColumn)", sqlcon);
    sqlcmd.Parameters.AddWithValue("@FirstColumn", RadTextBox1.Text);
    sqlcmd.Parameters.AddWithValue("@SecondColumn", RadTextBox2.Text);
    sqlcmd.Parameters.AddWithValue("@ThirdColumn", RadTextBox3.Text);

    sqlcmd.ExecuteNonQuery();
    //   lbl.Visible = true;
    sqlcon.Close();
}

我的问题是::

FirstColumn中的列Trial是主键字段。所以,我不想直接将数据保存到数据库中,但我希望它首先检查我在RadTextBox1中输入的值,看看它是否存在于数据库中::

  • 如果存在,则会在RadTextBox2RadTextBox3

  • 中显示相应的值
  • 如果它不存在,则RadTextBox2RadTextBox3将保持空白,并允许用户输入新数据。

我该怎么做?我一直在搜索很多,但是我刚开始学习这个就太混乱了。我非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用datareader,

if(RadTextBox2.Text!=""||RadTextBox3.Text!="")
{
RadTextBox2.Text="";
RadTextBox3.Text="";
}
SqlConnection con = new SqlConnection("Your connection");
con.Open();
SqlCommand cmd = new SqlCommand("Select * from Trial where FirstColumn = '"+RadTextBox1.Text+"'",con);
SQlDataReader dr = cmd.ExecuteReader();
while(dr.Read())
{
  if(dr.HasRows())
  {

     RadTextBox2.Text = dr.GetString(1);
     RadTextBox3.Text = dr.GetString(2);  
  }
  else
  {


  }
}
con.Close();

它会出现在你的RadTextBox1更改事件中。确保你的RadTextBox1 autopostback属性设置为true。