ورود

View Full Version : اشکال هنگام ثبت اطلاعات با استفاده ازado.net



salmah
پنج شنبه 01 خرداد 1393, 21:36 عصر
سلام کسی می دونه اشکال این کد چیه.
وقتی دکمه ثبت را میزنم به صفحه pm2 می ره


protected void Page_Load(object sender, EventArgs e)
{//بایندگرید3و4
SqlConnection cnc2 = new SqlConnection();
cnc2.ConnectionString = ConfigurationManager.ConnectionStrings["shahrekordsabtConnectionString"].ToString();

cnc2.Open();




String getState3 = "Select enam as TextField, eid as ValueField from tallsemat";

DataTable dt3 = new DataTable();
SqlDataAdapter da3 = new SqlDataAdapter(getState3, cnc2);
da3.Fill(dt3);


DropDownList3.DataSource = dt3;
DropDownList3.DataTextField = "TextField";
DropDownList3.DataValueField = "ValueField";
DropDownList3.DataBind();


String getState4 = "Select enam as TextField, eid as ValueField from tallsemat";


DataTable dt4 = new DataTable();
SqlDataAdapter da4 = new SqlDataAdapter(getState4, cnc2);
da3.Fill(dt4);


DropDownList4.DataSource = dt4;
DropDownList4.DataTextField = "TextField";
DropDownList4.DataValueField = "ValueField";
DropDownList4.DataBind();
cnc2.Close();

}
protected void Button1_Click(object sender, EventArgs e)
{
//اتصال به بانک
SqlConnection cnc = new SqlConnection();
SqlCommand command = new SqlCommand();
SqlDataAdapter adapter = new SqlDataAdapter();
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
DataSet dst = new DataSet();

cnc.ConnectionString = WebConfigurationManager.ConnectionStrings["shahrekordsabtConnectionString"].ToString();

command.Connection = cnc;
command.CommandText = "SELECT * FROM tkarmandan";
adapter.SelectCommand = command;
adapter.Fill(dst,"tkarmandan");

string str = ct_usernam.Text;
byte[] data = System.Text.UTF8Encoding.UTF8.GetBytes(str);
SHA256Managed sha = new SHA256Managed();
byte[] hashValue = sha.ComputeHash(data);
string strp = "";
foreach (byte strb in hashValue)
{
strp += strb.ToString();
}

string dkb="13" + TextBox1.Text + "/" + DropDownList2.SelectedValue + "/" + DropDownList1.SelectedValue;

DataRow row = dst.Tables["tkarmandan"].NewRow();
row["nam"] =ct_nam.Text;
row["famil"] = ct_famil.Text;
row["codemeli"] =ct_cm.Text;
row["codepersoneli"] = ct_cp.Text;
row["fathernam"] = ct_fnam.Text;
row["email"] = ct_email.Text;
row["username"] = strp;
row["nowsemat"] = ct_nowsemat.Text;

row["databorn"] = dkb;
row["xid"] = DropDownList3.SelectedValue;
row["xid"] = DropDownList4.SelectedValue;

try
{
int result = adapter.Update(dst, "tkarmandan");

if (result > 0)
Response.Redirect("pm.aspx"); //successful
else
Response.Redirect("login.aspx"); //failed
}
catch
{
Response.Redirect("pm2.aspx");
}}

salmah
پنج شنبه 01 خرداد 1393, 21:38 عصر
البته من ارتباط1:n بین eid:xid ایجاد کردم

salar IT man
پنج شنبه 01 خرداد 1393, 22:43 عصر
سلام دوست عزیز خب اطلاعات ثبت شده و مقدار برگشتی تابع Update هم 1 هستش اگر اشتباه نکنم و ...

aslan
پنج شنبه 01 خرداد 1393, 23:03 عصر
خب Try ... Catch را بردارین ببینین چه خطایی میده ...................( متن خطا ؟؟؟ )

salmah
جمعه 02 خرداد 1393, 10:46 صبح
نه اطلاعات ثبت نمیشه

سلام دوست عزیز خب اطلاعات ثبت شده و مقدار برگشتی تابع Update هم 1 هستش اگر اشتباه نکنم و ...


هیچ خطایی نمیده وفقط صفحه یه بار رفرش میشه ولی هیچی توجدولم درج نشده


خب Try ... Catch را بردارین ببینین چه خطایی میده ...................( متن خطا ؟؟؟ )

salar IT man
جمعه 02 خرداد 1393, 11:13 صبح
از break point استفاده کنید ببنید result چند میشه ؟ شما میگین صفحه یه بار رفرش میشه ، الان تو صفحه pm2 هستین؟

salmah
جمعه 02 خرداد 1393, 12:01 عصر
اگر try-cathرا حذف کنم بعد از زدن دکمه ثبت یه بار رفرش میشه
ولی قبل حذفtry-catch بله وارد صفحه pm2میشه

salmah
جمعه 02 خرداد 1393, 22:52 عصر
اساتید و دوستان لطفا راهنمایی کنید خیلی ضروریه


البته من قبلا با همین کد می تونستم توی جدولم اطلاعات را درج کنم ولی مجبور شدم چندتا فیلد به جدول اضافه کنم و الان حتی با SqlDataSourceهم نمی تونم اطلاعات را دردرج کنم.
آیا این موضوع ربطی به تغییراتی داره که داخل جدولم دادم یه نه

ali_md110
سه شنبه 06 خرداد 1393, 19:58 عصر
سلام
ببینید شما داده ها رو به کلکسیون row اضافه کردید ولی این row ها هنوز درون هیچ دیتاتیبل یا دیتاست نریختید
قبل از دستورAdapter.Update داده های DataRow را به جدول یا دیتاست اضافه کنید


dst.Tables["tkarmandan"].Rows.Add(row ;