PDA

View Full Version : سوال: خطای Xml.serialization.IXmlserializable چیست؟



zayens
چهارشنبه 25 فروردین 1389, 11:46 صبح
سلام به برنامه نویسان دانا
من یه برنامه نوشتم که خیلی هم خوب کار می کرد تا اینکه به سرم زد و ویندوزم را ویستا کردم.
چون یادم رفت فایلهای sql درون دیتابیس را attach و detach کنم برای همین آنها را دوباره نوشتم.
الآنم خطای مسخره ی زیر را میده:



Error 1
The type 'System.Xml.Serialization.IXmlSerializable'
is defined in an assembly that is not referenced.
You must add a reference to assembly
'System.Xml, Version=2.0.0.0, Culture=neutral
, PublicKeyToken=b77a5c561934e089'.
C:\Users\Mohsen\Documents\Visual Studio 2008
\Projects\PERSONEL\PERSONEL\Classes\MyDbRun.cs 53 13 PERSONEL


گیرش هم به DataTable هست که کد این قسمت هم میذارم
DataTable در چند خط مونده به آخر هست



namespace PERSONEL
{
classMyDbRun
{
publicDataView DvRun;
SqlConnection Mycn;
public MyDbRun()
{
Mycn = newSqlConnection("Server=(local);database=ACCWAGE;Integrated Security=True;");
}
//**************
publicvoid Execommand(SqlCommand mycmd)
{
mycmd.Connection = Mycn;
if (Mycn.State == ConnectionState.Closed)
{ Mycn.Open();}
//
mycmd.ExecuteNonQuery();
//
Mycn.Close();Mycn.Dispose();
}
//**************
publicvoid ExecSelectCommand(SqlCommand mycmd)
{
mycmd.Connection = Mycn;
if (Mycn.State == ConnectionState.Closed)
{ Mycn.Open(); }
//
SqlDataAdapter da = newSqlDataAdapter();
da.SelectCommand = mycmd;
DataTable dt = newDataTable();
da.Fill(dt);
DvRun = newDataView();
DvRun = dt.DefaultView;
Mycn.Close();Mycn.Dispose();
}
}
}


راستی من تازه کارم

mehdi.mousavi
چهارشنبه 25 فروردین 1389, 12:00 عصر
سلام به برنامه نویسان دانا
من یه برنامه نوشتم که خیلی هم خوب کار می کرد تا اینکه به سرم زد و ویندوزم را ویستا کردم.
چون یادم رفت فایلهای sql درون دیتابیس را attach و detach کنم برای همین آنها را دوباره نوشتم.
الآنم خطای مسخره ی زیر را میده:



Error 1
The type 'System.Xml.Serialization.IXmlSerializable'
is defined in an assembly that is not referenced.
You must add a reference to assembly
'System.Xml, Version=2.0.0.0, Culture=neutral
, PublicKeyToken=b77a5c561934e089'.
C:\Users\Mohsen\Documents\Visual Studio 2008
\Projects\PERSONEL\PERSONEL\Classes\MyDbRun.cs 53 13 PERSONEL




سلام.
پیام بالا یعنی اینکه شما فراموش کرده اید که System.Xml.dll رو به لیست Reference های برنامه اضافه کنید. توی Visual Studio، روی گزینه References باید Right-Click کنید و سپس آیتم Add Reference رو انتخاب کنید. سپس فایل System.Xml.dll رو انتخاب کنید و به لیست Reference ها بیفزایید. در نهایت برنامه رو مجددا کامپیال کنید.

موفق باشید.

zayens
چهارشنبه 25 فروردین 1389, 13:37 عصر
از لطف شما ممنونم
مشکل قبلی حل شد.
از نوشتن جمله ی برنامه نویسان دانا پشیمان نیستم. دانایی برازندتان باد.
اما مثل اینکه از وقتی ویندوز را عوض کردم اصلا دیگه کلا به sql وصل نمی شم.
حتی برنامه ی تست زیر که باید متن را از یک TextBox با یک button ساده وارد یک table کند نیز کار نمی کنه.
استوردپروسیجر و تیبل درست است.


create proc InsertToTxt
@newtext nvarchar(50)
as
insert into TEST.dbo.tableTest(txtbox) values (@newtext)
go


دیگه برنامه بعد کامپایل ERROR نمی ده.بلکه رنگ قسمت ()Mycn.Open را زرد می کنه و تو یه پنجره می نویسه


A network-related or instance-specific error occurred
while establishing a connection to SQL Server.
The server was not found or was not accessible.
Verify that the instance name is correct and
that SQL Server is configured to allow remote connections.
(provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)
این هم قسمتی که مشکل می گیره:


namespace test
{
class MyDbRun
{
SqlConnection Mycn;
public MyDbRun()
{
Mycn = new SqlConnection("Server=(local);database= TEST; integrated Security=True;");
}
//**************
public void Execommand(SqlCommand mycmd)
{
mycmd.Connection = Mycn;
if (Mycn.State == ConnectionState.Closed)
{ Mycn.Open();}
mycmd.ExecuteNonQuery();
Mycn.Close();Mycn.Dispose();
}}}

اطلاعات اتصال هم در زیر میارم:
server type: Database Engine
server name:MOHSEN-PC\MYSQLSERVER
Authertication:Windows Authertication
ایا باید توی این قسمت ها تغییری لحاظ کنم؟

mehdi.mousavi
چهارشنبه 25 فروردین 1389, 14:10 عصر
از لطف شما ممنونم مشکل قبلی حل شد. از نوشتن جمله ی برنامه نویسان دانا پشیمان نیستم. دانایی برازندتان باد. اما مثل اینکه از وقتی ویندوز را عوض کردم اصلا دیگه کلا به sql وصل نمی شم. حتی برنامه ی تست زیر که باید متن را از یک TextBox با یک button ساده وارد یک table کند نیز کار نمی کنه. استوردپروسیجر و تیبل درست است.
دیگه برنامه بعد کامپایل ERROR نمی ده.بلکه رنگ قسمت ()Mycn.Open را زرد می کنه و تو یه پنجره می نویسه ایا باید توی این قسمت ها تغییری لحاظ کنم؟

سلام.
این خطا نشون میده که دفعه قبل SQL Server رو بصورت default instance نصب کرده بودید، اما الان اونو Named-Instance نصب کرده اید.

لطفا توی Connection String خودتون جای (local) بنویسید MOHSEN-PC\MYSQLSERVER

قاعدتا مشکل حل خواهد شد.

موفق باشید.