ورود

View Full Version : سوال: اتصال بانك اطلاعاتي به جاوااسكريپت - كاهش كد نويسي



mohammad87
پنج شنبه 29 مرداد 1388, 16:26 عصر
من يك كد جاوا دارم كه به اون هر چي كلمه ميديم تايپ مي كنه ... فكر كنم دوستان اونو ديدن اسم فايل جاواش هم ticker.js است . مثلا اين سايت از اين حالت استفاده كرده :http://www.tagfa.com (http://www.tagfa.com/)

حالا سوال من اينكه مي خوام اخبار وب سايتمو اينطوري از بانك بخونه بعد همون طوري بنويسه و نيمي خوام محدوديت وارد كردن اخبار توي بانك داشته باشم خودم يك كد نوشتم ولي اگه طرف بخواد 50 تا خبر وارد كنه كد من خيلي سخت ميشه اين كد منه :


try
{

string I1 = "";
SqlConnection con_News = new SqlConnection(ConfigurationManager.ConnectionStrin gs["Abrar-ConnectionString"].ConnectionString);
SqlCommand cmd_News = new SqlCommand("Select_News", con_News);
cmd_News.CommandType = CommandType.StoredProcedure;
con_News.Open();
SqlDataReader newsreader = cmd_News.ExecuteReader();

string[] news = new string[10];
int i = 0;
while (newsreader.Read())
{
I1 = Server.HtmlDecode(newsreader[0].ToString());
news[i] = I1;
i++;

}
con_News.Close();
if (news[0] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array('')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[1] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array('" + news[0] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[2] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array('" + news[0] + "','" + news[1] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[3] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[4] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "','" + news[3] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[5] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "','" + news[3] + "','" + news[4] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[6] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "','" + news[3] + "','" + news[4] + "','" + news[5] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[7] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "','" + news[3] + "','" + news[4] + "','" + news[5] + "','" + news[6] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[8] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "','" + news[3] + "','" + news[4] + "','" + news[5] + "','" + news[6] + "','" + news[7] + "')\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}
else if (news[8] == null)
{
string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(' " + news[0] + "','" + news[1] + "','" + news[2] + "','" + news[3] + "','" + news[4] + "','" + news[5] + "','" + news[6] + "','" + news[7] + "','" + news[8] + "')\n" +
"var theSiteLinks = new Array('ok.com')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}

}
catch (System.Exception ex)
{
Response.Redirect("ErrorPage.aspx");
}
همونطوري كه مي بينيد فقط براي اينكه 7 تا خبر نشون بده چقدر شده واي به حال من اگه بخواد 50 تا خبر رو نشون بدم :متعجب:

حالا از دوستان(مخصوصا حرفه اي ها :خجالت:) آماتور ها ناراحت نشن (خود من آماتورم) چطور كد ساده تري بنويسم كه ديگه محدوديت وارد كردن اخبار نداشته باشم بعد هم همون طوري نمايش بده ؟؟؟

mohammad87
پنج شنبه 29 مرداد 1388, 20:05 عصر
آقا مثل اينكه سوال ما براي حرفه اي ها هم سخت بوده :متفکر:؟؟(به خودم دارم اميد وار شدم عجب سوالي پرسيدم فكر كنم منم به سطح حرفه اي رسيدم:چشمک:)

mojehfilm
جمعه 30 مرداد 1388, 00:41 صبح
به نظرم شما بايد كتابي در زمينه javascript & database مطالعه كني ...

واست سرچ مي كنم ببينم مي تونم چيزي پيدا كنم .

Chabok
جمعه 30 مرداد 1388, 02:07 صبح
چیکار کرده ای اخوی ؟

چرا مثل برنامه های QBasic قدیم کد نوشتی ؟

کد خود را به این صورت اصلاح کنید :


try
{

string I1 = "";
SqlConnection con_News = new SqlConnection(ConfigurationManager.ConnectionStrin gs["Abrar-ConnectionString"].ConnectionString);
SqlCommand cmd_News = new SqlCommand("Select_News", con_News);
cmd_News.CommandType = CommandType.StoredProcedure;
con_News.Open();
SqlDataReader newsreader = cmd_News.ExecuteReader();

int i = 0;
while (newsreader.Read())
{
I1 += "'" + Server.HtmlDecode(newsreader[0].ToString()) + "',";
i++;
}
con_News.Close();

if (i > 0)
{
I1 = I1.Substring(0, I1.Length - 2);//For remove last(extra) comma

string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(" + I1 + ")\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}

}
catch (System.Exception ex)
{
Response.Redirect("ErrorPage.aspx");
}
این سوالات هم ربطی به دات نت و ASP و جاوا اسکریپت نداره .
طرز کد نویسی برای این جور مسائل مهمه .

موفق باشید .

mohammad87
جمعه 30 مرداد 1388, 13:30 عصر
چیکار کرده ای اخوی ؟

چرا مثل برنامه های QBasic قدیم کد نوشتی ؟

کد خود را به این صورت اصلاح کنید :


try
{

string I1 = "";
SqlConnection con_News = new SqlConnection(ConfigurationManager.ConnectionStrin gs["Abrar-ConnectionString"].ConnectionString);
SqlCommand cmd_News = new SqlCommand("Select_News", con_News);
cmd_News.CommandType = CommandType.StoredProcedure;
con_News.Open();
SqlDataReader newsreader = cmd_News.ExecuteReader();

int i = 0;
while (newsreader.Read())
{
I1 += "'" + Server.HtmlDecode(newsreader[0].ToString()) + "',";
i++;
}
con_News.Close();

if (i > 0)
{
I1 = I1.Substring(0, I1.Length -1);//For remove last(extra) comma

string javaScript =
"<script type='text/javascript' language='JavaScript'>\n" +
"var theSummaries = new Array(" + I1 + ")\n" +
"var theSiteLinks = new Array('')\n" +
"</script>\n" +
"<script type='text/javascript' language='JavaScript' src='ticker.js'></script>";
this.RegisterStartupScript("OnLoadScript", javaScript);
}

}
catch (System.Exception ex)
{
Response.Redirect("ErrorPage.aspx");
}
این سوالات هم ربطی به دات نت و ASP و جاوا اسکریپت نداره .
طرز کد نویسی برای این جور مسائل مهمه .

موفق باشید .

آقا خیلی حال دادی ... ممنون فقط باید توی کد بالا بجای اینکه از آخر رشته ۲ تا کم کنی باید یکی کم کنی.

بازم ممنونم :بوس: