グリッドをデータで埋める fillgrid() という名前の関数がありますが、レコードをデータベースに挿入する insert() 関数を呼び出した後は実行されません。
ローカル システムでは正常に動作していますが、ソリューションを公開してサーバーに配置すると、fillgrid() 関数が実行されません。エラーが発生せず、fillgrid() 関数が呼び出されない理由を認識できません。
これは挿入機能の私のコードです。
DataTable dtMob = new DataTable();
dtMob = dtMobilizn.Copy();
DataSet dsMobilizn=new DataSet("dsMobilization");
dsMobilizn.Tables.Add(dtMob);
int i = clsMob.InsertMobilizationDetails(dsMobilizn.GetXml());//i am getting the value as 1 when i debugged in local system
if (i != -1)
{
FillGrid();//This function is not getting called.
}
else
{
string str = "<script>alert('Cannot mobilize')</script>";
ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Validation Error", str, false);
return;
}
フィル グリッド関数のコードです。この関数はページロード時に呼び出され、正常に動作しています。
DataTable dtGrid = clsMob.GetStandByEmployee(txtSrchEmpCode.Text.Trim());
if (dtGrid.Rows.Count > 0)
{
if (ViewState["Sort"] != null)
{
DataView dView = new DataView(dtGrid);
dView.Sort = ViewState["Sort"].ToString();
gdMobilizn.DataSource = dView;
gdMobilizn.DataBind();
}
else
{
gdMobilizn.DataSource = dtGrid;
gdMobilizn.DataBind();
}
}
else
{
gdMobilizn.DataSource = null;
gdMobilizn.EmptyDataText = "No Standby Employees Found";
gdMobilizn.DataBind();
}
これは InsertMobilizationDetails の機能です
public int InsertMobilizationDetails(string xml)
{
Database_Operations dbo = new Database_Operations("TransMob_InDetails", true);
dbo.AddParameter("@xmlMob", xml);
return dbo.ExecuteQuery();
}
これが ExecuteQuery の機能です
public int ExecuteQuery()
{
int rowsAffected = -1;
SqlCon = new SqlConnection();
using (SqlCon = new SqlConnection(ConfigurationManager.ConnectionStrings["SQL_CONNECTION"].ToString()))
{
try
{
SqlCon.Open();
SqlCmd.Connection = SqlCon;
SqlTransaction transaction;
transaction = SqlCon.BeginTransaction();
try
{
SqlCmd.Transaction = transaction;
rowsAffected = SqlCmd.ExecuteNonQuery();
transaction.Commit();
rowsAffected = 1;
}
catch (Exception ex)
{
transaction.Rollback();
rowsAffected = -1;
//Response.Write(ex.Message);
}
}
catch (Exception exp)
{
rowsAffected = -1;
//Response.Write(exp.Message);
}
finally
{
SqlCon.Close();
SqlCon.Dispose();
}
}
return rowsAffected;
}