PDA

View Full Version : مشکل این خطا چیه دوستان



pouran
یک شنبه 18 فروردین 1387, 19:14 عصر
من هر تایپیکی که ایجاد می کنم در مورد این خطا آقای راد 5 دقیقه بعد می آید و این تایپیک را حذف می کنه نمی دونم مگه مشکلی ما مبتدی ها مشکلمون در این انجمن ارائه بدیم.

دوستا من یه page به نام contact ایجاد کردم و از بانک اطلاعاتی sql 2005 استفاده می کنم.
من کد های مربوط به این را نوشته ام، page داخل Visual Web Developer 2005 ساختم و موقعی اجرا می کنم هیچ مشکلی نداره ولی وقتی اطلاعات وارد کردم و روی دکمه ارسال می زنم این error را می ده. لطفاً در این زمینه من راهنمایی کنید.

این کد :


Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.HttpApplicationState
PartialClass _Contact
Inherits System.Web.UI.Page
Dim CommentId AsString
Dim Jc AsNew Pcalendar
Dim objConnection AsNew SqlConnection( _
"Server=localhost;Database=Contact;Integrated Security=True")
ProtectedSub Page_Load(ByVal sender AsObject, ByVal e As System.EventArgs) HandlesMe.Load
EndSub
ProtectedSub btnSend_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles btnSend.Click
Dim objMaxId AsNew SqlCommand
objMaxId.Connection = objConnection
objMaxId.CommandText = "Select Max(id) From Contacts"
objConnection.Open()
Dim MaxId AsObject = objMaxId.ExecuteScalar()
If MaxId Is DBNull.Value Then
MaxId = 0
EndIf
objConnection.Close()
Dim objCommand AsNew SqlCommand
objCommand.Connection = objConnection
objCommand.CommandText = "Insert Into Contacts(ID" & _
",commentid,Name,Email,Subject,Notes,Datecomment)" & _
"Values(@ID,@commentid,@Name,@Email,@Subject,@Notes ,@Datecomment)"
objConnection.Open()
objCommand.Parameters.AddWithValue("@id", MaxId + 1)
objCommand.Parameters.AddWithValue("@commentid", CommentId)
objCommand.Parameters.AddWithValue("@name", txtName.Text)
objCommand.Parameters.AddWithValue("@Email", txtEmail.Text)
objCommand.Parameters.AddWithValue("@Subject", txtSubject.Text)
objCommand.Parameters.AddWithValue("@Notes", txtNotes.Text)
objCommand.Parameters.AddWithValue("@Datecomment", Jc.WhatDayToString)
objCommand.ExecuteNonQuery()
objConnection.Close()
Response.Write("<script> alert('مطلب شما با موفقیت ثبت گردید'); </script>")
EndSub
ProtectedSub btnremove_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles btnremove.Click
txtName.Text = ""
txtEmail.Text = ""
txtSubject.Text = ""
txtNotes.Text = ""
EndSub
EndClass



این هم error :

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.SqlClient.SqlException: An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)




Line 15: objMaxId.Connection = objConnection
Line 16: objMaxId.CommandText = "Select Max(id) From Contacts"
Line 17: objConnection.Open()
Line 18: Dim MaxId As Object = objMaxId.ExecuteScalar()
Line 19: If MaxId Is DBNull.Value Then

Behrouz_Rad
یک شنبه 18 فروردین 1387, 19:39 عصر
انشاا... از این به بعد آقای راد دیگه مزاحم دوستان نمیشه :)
راحت باشید.

pouran
یک شنبه 18 فروردین 1387, 19:43 عصر
مگه چی شده آقای راد از دست ما ناراحت شدی

twelve
یک شنبه 18 فروردین 1387, 19:54 عصر
Dim objConnection AsNew SqlConnection( _
"Server=localhost;Database=Contact;Integrated Security=True")

عزیزم من فکر میکنم مشکلت این خط باشه
به این صورت بنویسید شاید حل بشه مشکلت ( اگر ویندوز شما XP باشه احتمالا اشکال همینه )


Dim objConnection AsNew SqlConnection( _
"Server=(local);Database=Contact;Integrated Security=True")

ضمن اینکه بهتره کلاس Connection قبل از ساب روتین Load ایجاد و در مواقع نیاز اون رو New کنی.
امان از دست این بهروز بد جنس! نگو که میخوام وکشمش!

pouran
یک شنبه 18 فروردین 1387, 19:57 عصر
نه دوست عزیز مشکل از این نیست، من امتحان کردم

twelve
یک شنبه 18 فروردین 1387, 20:06 عصر
تو قبل از بروز این مشکل ، به Sql کانکت شدی؟

pouran
یک شنبه 18 فروردین 1387, 20:56 عصر
دوستان این سورس برنامه

نگاه بکنید و به هم بگوید مشکل کجاست

pouran
یک شنبه 18 فروردین 1387, 21:35 عصر
دوستان کسی نیست جواب مشکلم را بده

svm-webmaster
یک شنبه 18 فروردین 1387, 22:01 عصر
لطف کن یه بار تو اینترنت سرچ کن پیدا می کنی. نمی خوام دلسردت بکنم اما این جور اشکالات را باید بتونیم خودمون پیدا بکنیم. همونطور که دوستمون گفت "تو قبل از بروز این مشکل ، به Sql کانکت شدی؟ "

silver rain
یک شنبه 18 فروردین 1387, 22:32 عصر
به جای local یک نقطه بذار ان شاء الله جواب میده

twelve
یک شنبه 18 فروردین 1387, 22:40 عصر
اگر قبلا کانکت نشدی و با local هم درست نمیشه sqlserver رو درست نصب نکردی

pouran
یک شنبه 18 فروردین 1387, 23:37 عصر
دوست عزیز کانکت می شدم مشکلی هم نداشت.

دوست عزیز یه نگاهی به سورس من بنداز نگاه بکنه که روی کامپیوتر شما کار می کند.


دوستان کسی اگر سورسی در مورد دارد بذاره تا من ببینم

IranVisual
دوشنبه 19 فروردین 1387, 00:23 صبح
فعلا از این کانکشن استرینگ میتونی استفاده کنی کارت راه بیفته

"ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Dbase.mdf;Integrated Security=True;User Instance=True"

موقع آپلود فایل به سرور هم از این کانکشن استرینگ

<add name="ConnectionString" connectionString="Server=********;Database=****;User ID=****;Password=***;" providerName="System.Data.SqlClient"/>

pouran
دوشنبه 19 فروردین 1387, 00:37 صبح
دوست عزیز این کارها انجام داده ام درست نشده

ConnectionString که ایجاد کردم همین بوده

IranVisual
دوشنبه 19 فروردین 1387, 00:41 صبح
یه پروژه دیگه درست کن و آزمایش کن اگه جواب نداد
Remove SqlServer2005 Or Reply SqlServer2005

pouran
دوشنبه 19 فروردین 1387, 00:46 صبح
دوست عزیز من sql2005 را با برنامه Visual Web Developer 2005 را از سایت microsoft.com دانلود کردم و نصب شده است.

من دو تا کامپیوتر دارم روی هر دو کامپیوتر این error را می ده

IranVisual
دوشنبه 19 فروردین 1387, 01:08 صبح
آقا من کدای شما رو دیدم و برای خودم هم درست کردم یه جدول با همین نام و با همین فیلدها اما مشکلی نداشت اینم پروژه من که درستش کردم فقط کانکشن استرینگش رو تغییر دادم
ببین اگه error میده یه بار دیگه کل vs2005 رو نصب کن

pouran
دوشنبه 19 فروردین 1387, 01:26 صبح
دوست عزیز آن کدی که شما زحمتش کشیدید درست جواب داد.


من همان کانکشن استرینگش را جایگزین کردم درست شد حالا این error می ده.


Line 35: objCommand.Parameters.AddWithValue("@Notes", txtNotes.Text)
Line 36: objCommand.Parameters.AddWithValue("@Datecomment", Jc.WhatDayToString)
Line 37: objCommand.ExecuteNonQuery()
Line 38: objConnection.Close()
Line 39: Response.Write("<script> alert('مطلب شما با موفقیت ثبت گردید'); </script>")

IranVisual
دوشنبه 19 فروردین 1387, 01:53 صبح
در وارد کردن پارامترها دقت کنید حتی به حروف بزرگ و کوچک مثلا اگه ID رو با حروف بزرگ معرفی کردی تو بقیه قسمتها هم باید با حروف بزرگ معرفی بشه
یه کم دیگه دقت کن

IranVisual
دوشنبه 19 فروردین 1387, 01:56 صبح
در ضمن من کدهای شما را ننوشتم فقط کانکشن استرینگ را تغییر دادم و متنهارو جابجا کردم همین

pouran
دوشنبه 19 فروردین 1387, 02:03 صبح
سلام دوست عزیز خیلی شرمنده شما شدم

دوست من مشکل از پارمتر datecomment بود پاکش کردم درست شد.


حالا یه سوال دیگه داشتم چطوری می تونم تاریخ را به صورت شمسی به طور اتوماتیک وارد دیتابس بشه.

منظور من اینکه کاربر روی دکمه ارسال کلیک کرد فیلد تاریخ به صورت اتوماتیک بدون اینکه کاربر وارد کنه وارد دیتابس بشه این کد که من نوشتم جواب نداد.

IranVisual
دوشنبه 19 فروردین 1387, 02:05 صبح
میتونی از کنترل تاریخ شمسی توی سایت استفاده کنی استفاده از اونم خیلی آسونه

IranVisual
دوشنبه 19 فروردین 1387, 02:06 صبح
http://barnamenevis.org/forum/showthread.php?t=90830&highlight=%D8%AA%D8%A7%D8%B1%DB%8C%D8%AE+%D8%B4%D9 %85%D8%B3%DB%8C

pouran
دوشنبه 19 فروردین 1387, 02:12 صبح
دوست عزیز سورس این برنامه را ندارید

IranVisual
دوشنبه 19 فروردین 1387, 02:16 صبح
بعدا برات میزارم چشم

pouran
دوشنبه 19 فروردین 1387, 02:17 صبح
دوست عزیز کدی که به صورت اتوماتیک تاریخ جاری را وارد دیتابس می کنه چیه

IranVisual
دوشنبه 19 فروردین 1387, 02:23 صبح
objCommand.Parameters.AddWithValue("@Datecomment", Now.Year.ToString & "\" & Now.Month.ToString & "\" & Now.Day.ToString)

pouran
دوشنبه 19 فروردین 1387, 02:26 صبح
دوست عزیز میشه در موقع به صورت اتوماتیک وارد دیتابس میشه به صورت تاریخ شمسی وارد بشه.

باید از آن dll استفاده بشن

twelve
دوشنبه 19 فروردین 1387, 02:28 صبح
دوست عزیز کدی که به صورت اتوماتیک تاریخ جاری را وارد دیتابس می کنه چیه




INSERT INTO TABLENAME(DATECOLOUMN) VALUES (GETDATE())

IranVisual
دوشنبه 19 فروردین 1387, 02:28 صبح
هیچ فرقی نداره فقط تاپیک رو کامل دونبال کون بعد خودت میفهمی اگع نفهمیدی بگو خودم برات سورس کد میزارم

pouran
دوشنبه 19 فروردین 1387, 02:32 صبح
دوست عزیز کد دادید همان error ار می ده


Line 30: objCommand.Parameters.AddWithValue("@Datecomment", Now.Year.ToString & "\" & Now.Month.ToString & "\" & Now.Day.ToString)
Line 31: objConnection.Open()
Line 32: objCommand.ExecuteNonQuery()
Line 33: objConnection.Close()
Line 34: Response.Write("<script> alert('مطلب شما با موفقیت ثبت گردید'); </script>")

IranVisual
دوشنبه 19 فروردین 1387, 02:35 صبح
بابا فردا چشم دیگه وقت خواب

pouran
دوشنبه 19 فروردین 1387, 02:39 صبح
دوست عزیز با آن کد درست شد حالا چطوری حالا میشه به صورت شمسی نشون بده یا باید موقعی که وارد دیتابس میشه بصورت شمسی وارد بشه

pouran
دوشنبه 19 فروردین 1387, 08:24 صبح
سلام دوست عزیز (ایران ویژال) یه گه میشه در این زمینه راهنمایی کنید

mohandess_anita
یک شنبه 19 آبان 1387, 09:50 صبح
فعلا از این کانکشن استرینگ میتونی استفاده کنی کارت راه بیفته

کد:
"ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Dbase.mdf;Integrated Security=True;User Instance=True"موقع آپلود فایل به سرور هم از این کانکشن استرینگ

کد:
<add name="ConnectionString" connectionString="Server=********;Database=****;User ID=****;Password=***;" providerName="System.Data.SqlClient"/>

خوب منظور از ستاره ها یعنی چی؟
باید جای اسم سرور چی بذلریم