بمب منطقی
پنج شنبه 24 تیر 1389, 16:37 عصر
با سلام خدمت اساتید بخش ASP.NET
من کدی که در زیر ملاحظه می کنید رو تو سی شارپ نوشتم و بدون هیچ ایرادی اجراش کردم.ولی تو ASP.NET به2 مشکل برخورد کردم.اگه میشه منو راهنمایی بفرمائید:
public partial class _Default : System.Web.UI.Page
{
OleDbConnection ODB = new OleDbConnection();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ODB.ConnectionString="provider=Microsoft.Jet.OLEDB.12.0;Data Source=.\\App_Data\\db1.mdb";
}
}
protected void btnTranslate_Click(object sender, EventArgs e)
{
rtxtResult.Text="";
if ((rdoEN.Checked == true) && (txtEN.Text != ""))
{
OleDbDataAdapter ODBD = new OleDbDataAdapter("Select * from English Where English_Word like '%" + txtEN.Text + "%'", ODB);
DataSet DS = new DataSet();
ODBD.Fill(DS, "English");
ODBD = null;
if (DS.Tables["English"].Rows.Count != 0)
{
rtxtResult.Enabled = false;
string str;
for (int j = 0; j < DS.Tables["English"].Rows.Count; j++)
{
str = DS.Tables["English"].Rows[j]["Word_ID"].ToString();
ODBD = new OleDbDataAdapter("Select * from Farsi Where English_ID='" + str + "'", ODB);
ODBD.Fill(DS, "Farsi");
for (int i = 0; i < DS.Tables["Farsi"].Rows.Count; i++)
rtxtResult.Text = rtxtResult.Text + DS.Tables["Farsi"].Rows[i]["Farsi_Word"].ToString() + "\n";
}
DS.Clear();
ODBD = null;
rtxtResult.Enabled = true;
}
}
if ((rdoFA.Checked == true) && (txtFA.Text != ""))
{
OleDbDataAdapter ODBD = new OleDbDataAdapter("Select * from Farsi Where Farsi_Word Like'%" + txtFA.Text + "%'", ODB);
DataSet DS = new DataSet();
ODBD.Fill(DS, "Farsi");
ODBD = null;
if (DS.Tables["Farsi"].Rows.Count != 0)
{
rtxtResult.Enabled = false;
string str;
rtxtResult.Text="";
for (int j = 0; j < DS.Tables["Farsi"].Rows.Count; j++)
{
str = DS.Tables["Farsi"].Rows[j]["English_ID"].ToString();
ODBD = new OleDbDataAdapter("Select * from English Where Word_ID='" + str + "'", ODB);
ODBD.Fill(DS, "English");
rtxtResult.Text="";
for (int i = 0; i < DS.Tables["English"].Rows.Count; i++)
rtxtResult.Text = rtxtResult.Text + DS.Tables["English"].Rows[i]["English_Word"].ToString() + "\n";
}
DS.Clear();
ODBD = null;
rtxtResult.Enabled = true;
}
}
}
protected void txtFA_TextChanged(object sender, EventArgs e)
{
rdoFA.Checked = true;
rdoEN.Checked = false;
}
protected void txtEN_TextChanged(object sender, EventArgs e)
{
rdoFA.Checked = false;
rdoEN.Checked = true;
}
}
1- حتی با وجود اینکه autopostback هر دو(rdoFA, rdoEN)radiobox وtextbox(txtFA , txtEN) رو True کردم،با این وجود وقتی( طبق کد) در textbox ها تغییری صورت میگیره،radiobox های مربوطه،تا بروی یک جای خالی از فرم کلیک نکنم، on و off نمیشن.
2- وقتی بر روی دکمه btnTranslate کلیک میکنم تا عبارت وارد شده در textbox را (طبق کد) در بانک اکسس جستجو کنم، ODBD.Fill(DS, "English"); رو هایلایت میکنه (خطا میگیره) و این پیغام خطا رو نشون میده : The ConnectionString property has not been initialized فکر کنم اشکال از connectionString باشه ولی هرچی باهاش ور رفتم درست نشد.
اینم تصویر صفحه :
http://www.barnamenevis.org/forum/attachment.php?attachmentid=52952&stc=1&d=1279193767
با تشکر فراوان
من کدی که در زیر ملاحظه می کنید رو تو سی شارپ نوشتم و بدون هیچ ایرادی اجراش کردم.ولی تو ASP.NET به2 مشکل برخورد کردم.اگه میشه منو راهنمایی بفرمائید:
public partial class _Default : System.Web.UI.Page
{
OleDbConnection ODB = new OleDbConnection();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ODB.ConnectionString="provider=Microsoft.Jet.OLEDB.12.0;Data Source=.\\App_Data\\db1.mdb";
}
}
protected void btnTranslate_Click(object sender, EventArgs e)
{
rtxtResult.Text="";
if ((rdoEN.Checked == true) && (txtEN.Text != ""))
{
OleDbDataAdapter ODBD = new OleDbDataAdapter("Select * from English Where English_Word like '%" + txtEN.Text + "%'", ODB);
DataSet DS = new DataSet();
ODBD.Fill(DS, "English");
ODBD = null;
if (DS.Tables["English"].Rows.Count != 0)
{
rtxtResult.Enabled = false;
string str;
for (int j = 0; j < DS.Tables["English"].Rows.Count; j++)
{
str = DS.Tables["English"].Rows[j]["Word_ID"].ToString();
ODBD = new OleDbDataAdapter("Select * from Farsi Where English_ID='" + str + "'", ODB);
ODBD.Fill(DS, "Farsi");
for (int i = 0; i < DS.Tables["Farsi"].Rows.Count; i++)
rtxtResult.Text = rtxtResult.Text + DS.Tables["Farsi"].Rows[i]["Farsi_Word"].ToString() + "\n";
}
DS.Clear();
ODBD = null;
rtxtResult.Enabled = true;
}
}
if ((rdoFA.Checked == true) && (txtFA.Text != ""))
{
OleDbDataAdapter ODBD = new OleDbDataAdapter("Select * from Farsi Where Farsi_Word Like'%" + txtFA.Text + "%'", ODB);
DataSet DS = new DataSet();
ODBD.Fill(DS, "Farsi");
ODBD = null;
if (DS.Tables["Farsi"].Rows.Count != 0)
{
rtxtResult.Enabled = false;
string str;
rtxtResult.Text="";
for (int j = 0; j < DS.Tables["Farsi"].Rows.Count; j++)
{
str = DS.Tables["Farsi"].Rows[j]["English_ID"].ToString();
ODBD = new OleDbDataAdapter("Select * from English Where Word_ID='" + str + "'", ODB);
ODBD.Fill(DS, "English");
rtxtResult.Text="";
for (int i = 0; i < DS.Tables["English"].Rows.Count; i++)
rtxtResult.Text = rtxtResult.Text + DS.Tables["English"].Rows[i]["English_Word"].ToString() + "\n";
}
DS.Clear();
ODBD = null;
rtxtResult.Enabled = true;
}
}
}
protected void txtFA_TextChanged(object sender, EventArgs e)
{
rdoFA.Checked = true;
rdoEN.Checked = false;
}
protected void txtEN_TextChanged(object sender, EventArgs e)
{
rdoFA.Checked = false;
rdoEN.Checked = true;
}
}
1- حتی با وجود اینکه autopostback هر دو(rdoFA, rdoEN)radiobox وtextbox(txtFA , txtEN) رو True کردم،با این وجود وقتی( طبق کد) در textbox ها تغییری صورت میگیره،radiobox های مربوطه،تا بروی یک جای خالی از فرم کلیک نکنم، on و off نمیشن.
2- وقتی بر روی دکمه btnTranslate کلیک میکنم تا عبارت وارد شده در textbox را (طبق کد) در بانک اکسس جستجو کنم، ODBD.Fill(DS, "English"); رو هایلایت میکنه (خطا میگیره) و این پیغام خطا رو نشون میده : The ConnectionString property has not been initialized فکر کنم اشکال از connectionString باشه ولی هرچی باهاش ور رفتم درست نشد.
اینم تصویر صفحه :
http://www.barnamenevis.org/forum/attachment.php?attachmentid=52952&stc=1&d=1279193767
با تشکر فراوان