با سلام و درود خدمت اسادید محترم و دوستان گرامی
مشکل پیش امده مربوط می شه به ثبت اطلاعات در جدول اسکیو ال.
زبان برنامه نویسم C# هست و بانک اطلاعاتم هم SQLServer 2000 هستش که البته با 2005 هم همین مشکل رو دارم.
زمانی که دستور Insert برای SQL از طریق کدی که در VS2008 نوشتم ارسال می کنم ، SQL دستور رو 2 بار انجام می دهد ، یعنی دوبار عمل ثبت اطلاعات صورت می گیرد.
تمامی متود های PostBack هم False هستند ، اما دلیل این ثبت مجدد رو متوجه نشدم؟؟!!
ممنون می شم اگه در حل این مشکل راهنماییم کنید.
ناگفته نماند که من از این کدی که می نویسم به کرات در VS2005 با بانک SQL2005 هم وب و هم ویندوز استفاده کردم و جواب گرفتم.
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;
public partial class Image_Theme_Default : System.Web.UI.Page
{
//===============Sql Variable================
SqlConnection cnn = new SqlConnection();
SqlCommand cmd = new SqlCommand();
SqlDataAdapter sda = new SqlDataAdapter();
DataSet ds = new DataSet();
DataRow dr;
//===========================================
String Commandtext = "";
int Total;
int i;
protected void connect()
{
ds.Reset();
ds.Clear();
cnn.ConnectionString = "Data Source=.;Initial Catalog=T1;Integrated Security=True";
cmd.Connection = cnn;
cmd.CommandText = Commandtext;
sda.SelectCommand = cmd;
cnn.Open();
sda.Fill(ds, "Amin");
cmd.ExecuteReader();
cnn.Close();
}
protected void connect_reg()
{
ds.Reset();
ds.Clear();
cnn.ConnectionString = "Data Source=.;Initial Catalog=Amin;Integrated Security=True";
cmd.CommandText = Commandtext;
cmd.Connection = cnn;
sda.SelectCommand = cmd;
cnn.Open();
sda.Fill(ds, "Amin");
cmd.ExecuteNonQuery();
cnn.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
cmd.Parameters.Clear();
cmd.Parameters.Add("@Name", SqlDbType.NVarChar).Value = TextBox1.Text;
cmd.Parameters.Add("@Family", SqlDbType.NVarChar).Value = TextBox2.Text;
Commandtext = "insert into T1 (Name,Family)Values(@Name,@Family)";
connect_reg();
}
}