PDA

View Full Version : خواهش می کنم برای ثبت و ویرایش رکورد کمکم کنید



afaghmoh
دوشنبه 23 آبان 1384, 08:28 صبح
دیروز هم مشکلم را نوشتم ولی امروز دیدم حذف شده است نمی دانم چرا من کد زیر رابرای ثبت می نویسم ولی روی دستور Cmd.ExecuteNonQuery() ایراد میگیرد هر کاری کردم درست نشد این کد را از همین سایت برداشتم روی بانک آن برنامه کار می کند اما با بانک من کار نمی کند و ایراد می گیرد نمی دانم چرا خواهش می کنم کمکم کنید اسم جدول من t1 است و اسم فیلدهایش b2 و b3 و b4و b5 است البته تعدادی دیگر فیلد نیز دارد
Sub doInsert(ByVal sender As Object, ByVal e As DataGridCommandEventArgs)
If e.CommandName = "Insert" Then
Dim b2 As String
Dim b2Name As TextBox

Dim b3 As String
Dim b3Name As TextBox

Dim b4 As String
Dim b4Name As TextBox

Dim b5 As String
Dim b5Name As TextBox

Dim strSQL As String

b2Name = e.Item.FindControl("Add_Mode")
b3Name = e.Item.FindControl("Add_organ")
b4Name = e.Item.FindControl("Add_Piece")
b5Name = e.Item.FindControl("Add_OrderID")

b2 = b2Name.Text
b2 = b3Name.Text
b2 = b4Name.Text
b2 = b5Name.Text

'If strOrderID = String.Empty Then strOrderID = "0"

strSQL = "INSERT INTO t2(b2,b3,b4,b5) VALUES ('" & b2 & "','" & b3 & "','" & b4 & "'," & b5 & ")"

Dim Cnn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(".\bank\savabegh.mdb"))
Dim Cmd As New OleDbCommand(strSQL, Cnn)
Try
Cnn.Open()
Cmd.ExecuteNonQuery()
Catch ex As OleDbException
Response.Write(ex.Message.ToString())
Finally
If Cnn.State <> ConnectionState.Closed Then Cnn.Close()
DataGrid1.EditItemIndex = -1
BindData()
End Try
End If
End Sub

afaghmoh
دوشنبه 23 آبان 1384, 08:46 صبح
من منتظرم لطفا مرا راهنمایی کنید مانده ام چه کنم

afaghmoh
دوشنبه 23 آبان 1384, 09:35 صبح
چرا کسی کمکم نمی کند

brida_kh
دوشنبه 23 آبان 1384, 13:48 عصر
بنویس دقیقا چه اروری میده و کجای برنامه مشکل داره

brida_kh
دوشنبه 23 آبان 1384, 13:56 عصر
insert into hotel(xname,category,adress,tell,coment,web) values (N'"+txbw.Text+"',N'"+dr.SelectedItem.Text+"',N'"+txbadress.Text+"',N'"+txbtell.Text+"',N'"+txbco.Text+"',N'"+txbweb.Text+"')"
این دستوریه که من استفاده کردم و جواب گرفتم

afaghmoh
دوشنبه 23 آبان 1384, 14:26 عصر
Server Error in '/savabegh' Application.
--------------------------------------------------------------------------------

Extra ) in query expression 'kjjjhjhb )'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Data.OleDb.OleDbException: Extra ) in query expression 'kjjjhjhb )'.

Source Error:


Line 182:
Line 183: Cnn.Open()
Line 184: Cmd.ExecuteNonQuery()
Line 185: Cnn.Close()
Line 186:

brida_kh
دوشنبه 23 آبان 1384, 17:45 عصر
برو کنار اولین دستورت یه دونه Breack point بذار و مقادیرو موقع اجرا چک کن.(با موس کنار خط کلیک کن و با F10 برنامه رو اجرا کن . ) در دستور insert ببین آیا مقادیر وجود داره یا نه . راسیش من درست متوجه برنامه ات نشدم اما هر کمکی بخوای دریغ ندارم
ایشالا که موفق میشی

afaghmoh
سه شنبه 24 آبان 1384, 09:29 صبح
علاوه بر درج برای ویرایش رکرود نیز همین پیغام را می دهد این دستور برای update یک رکورد در دیتاگرید می باشد ببینید مشکلش چیست مانده ام که چه کنم اگر نمونه برنامه ای به جز نمونه آقای راد برای راهنمایی من سراغ دارید آنرا به من نیز بگویید.
strSQL = "UPDATE t2 SET b2=" & b2 & ",b3=" & b3 & ",b4=" & b4 & ",b5=" & b5 & " )"
مثل برنامه insert است با این تفاوت که این ویرایش است

brida_kh
سه شنبه 24 آبان 1384, 09:46 صبح
نوع فیلدات رو چگ کن . شاید مشکل از اونه ببین اگه فارسی اضافه میکنی باید فیلدت از نوع nvarchar باشه .مشکل تو دقیقا روی دستور اضافه سازیه .ببر توی analyzer تستش کن اونجا دقیقا میفهمی از کجا ایراد میگیره .

Identifier
سه شنبه 24 آبان 1384, 09:47 صبح
این یک نمونه برنامه است امیدوارم کمکت کنه


private void BindData()
{
SqlConnection myconnection= new SqlConnection(ConfigurationSettings.AppSettings["ConnectionInfo"]);
SqlCommand mycommand = new SqlCommand("SP_SELECT_RUL",myconnection);
mycommand.CommandType=CommandType.StoredProcedure;
DataSet ds = new DataSet();
SqlDataAdapter dapt = new SqlDataAdapter(mycommand);
dapt.Fill(ds,"Ruls");
myconnection.Open();
mycommand.ExecuteNonQuery();
DataGrid1.DataSource=ds;
try
{
DataGrid1.DataBind();
}
catch
{
DataGrid1.CurrentPageIndex = 0;
BindData();
}
myconnection.Close();
}
private void Edit_DataGrid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
System.Web.UI.WebControls.Label IDL = new System.Web.UI.WebControls.Label();
IDL = (System.Web.UI.WebControls.Label) e.Item.FindControl("Label2");
if (IDL.Text!="1" && IDL.Text!="2" )
{
DataGrid1.EditItemIndex = e.Item.ItemIndex;
BindData();
}
else
{
Response.Write("<script>alert(\"You cannot edit this item\")</script>");
BindData();
}
}
private void Cancel_DataGrid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
DataGrid1.EditItemIndex = -1;
BindData();
}
private void Delete_DataGrid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
try
{
System.Web.UI.WebControls.Label IDL = new System.Web.UI.WebControls.Label();
IDL = (System.Web.UI.WebControls.Label) e.Item.FindControl("Label2");
if (IDL.Text!="1" && IDL.Text!="2" )
{
FGClass.DeleteRow1("Ruls",Convert.ToInt16(IDL.Text));
BindData();
}else
{
Response.Write("<script>alert(\"You cannot delete this item\")</script>");
BindData();
}
}
catch
{
ErrorLabel.Text="<font color=red>* Error in delete</font>";
BindData();
}
}
public string GetLock(string rid)
{
if (rid=="1"||rid=="2")
{
return "../../image/Lock.gif";
}
else return "";
}
private void Update_DataGrid(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
try
{
FGClass FG = new FGClass();
System.Web.UI.WebControls.Label IDL = new System.Web.UI.WebControls.Label();
IDL = (System.Web.UI.WebControls.Label) e.Item.FindControl("Label3");
System.Web.UI.WebControls.RadioButtonList RL = new System.Web.UI.WebControls.RadioButtonList();
RL = (System.Web.UI.WebControls.RadioButtonList) e.Item.FindControl("RadioButtonList1");
System.Web.UI.WebControls.TextBox Name = new System.Web.UI.WebControls.TextBox();
Name = (System.Web.UI.WebControls.TextBox) e.Item.FindControl("Name");
string cnn = ConfigurationSettings.AppSettings["ConnectionInfo"];
SqlConnection myConnection = new SqlConnection(cnn);
SqlCommand myCommand = new SqlCommand("SP_UPDATE_RUL",myConnection);
myCommand.CommandType = CommandType.StoredProcedure;
myCommand.Parameters.Add(new SqlParameter("@ID",SqlDbType.BigInt,8));
myCommand.Parameters.Add(new SqlParameter("@Rate",SqlDbType.BigInt,8));
myCommand.Parameters.Add(new SqlParameter("@Name",SqlDbType.NVarChar,50));
myCommand.Parameters["@Name"].Value = Name.Text;
myCommand.Parameters["@ID"].Value = IDL.Text;
myCommand.Parameters["@Rate"].Value=RL.SelectedItem.Value;
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
DataGrid1.EditItemIndex = -1;
BindData();
}
catch
{
ErrorLabel.Text="<font color=red>* Error in Update</font>";
BindData();
}
}
protected void ItemDataBound_DataGrid(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item:
case ListItemType.AlternatingItem:
{
LinkButton btn = (LinkButton)e.Item.FindControl("btnDelete");
btn.Attributes.Add("onclick", "return confirmmsg();");
break;
}
}
}
private void InsertNewRow()
{
try
{
string cnn = ConfigurationSettings.AppSettings["ConnectionInfo"];
SqlConnection mycnn = new SqlConnection(cnn);
SqlCommand mycomm = new SqlCommand("SP_INSERT_RUL",mycnn);
mycomm.CommandType=CommandType.StoredProcedure;
mycomm.Parameters.Add(new SqlParameter("@ID",SqlDbType.BigInt,8));
mycomm.Parameters["@ID"].Value=FGClass.GetMaxID1("Ruls").ToString();
mycnn.Open();
mycomm.ExecuteNonQuery();
mycnn.Close();
}
catch
{
ErrorLabel.Text="<font color=red>* Error in Insert</font>";
}
}

Identifier
سه شنبه 24 آبان 1384, 09:49 صبح
راستش درست حسابی نمیشه از کدتون سر در آورد

afaghmoh
سه شنبه 24 آبان 1384, 09:55 صبح
brida جان چطور می شه analyzer کرد