我是初学者所以我正在尝试一个例子来理解,所以我非常感谢你的帮助。
我有以下Web应用程序结构:
我有以下代码用于单击“保存”按钮,该按钮将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
中输入的值,看看它是否存在于数据库中::
如果存在,则会在RadTextBox2
和RadTextBox3
如果它不存在,则RadTextBox2
和RadTextBox3
将保持空白,并允许用户输入新数据。
我该怎么做?我一直在搜索很多,但是我刚开始学习这个就太混乱了。我非常感谢你的帮助。
答案 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。