Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Параметры / 8 сообщений из 8, страница 1 из 1
22.02.2005, 22:13
    #32929384
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
command.CommandText=@"insert into Users(FName,LName,Properties,Group_ID,Premissions,EMail,WeBб
ICQ,AboutUser,Subscripte,Login,Pwd,Country,Sity,Status,WhereKnow,RegisterDate)values(@FName,@LName,@Prop,@Group,@Prem,@EMail,@WeB,@ICQ,@AboutUser,@Subscribe,@Login,@Pwd,@Country,@Sity,@Status,@WhereKnow,GetDate());";

command.Parameters.Add("@FName",RegData.FName);
command.Parameters.Add("@LName",RegData.LName);
command.Parameters.Add("@Prop",1);
command.Parameters.Add("@Group",1);
command.Parameters.Add("@Prem",1);
command.Parameters.Add("@EMail",RegData.Email);
command.Parameters.Add("@Web",RegData.Web);
command.Parameters.Add("@ICQ",RegData.ICQ);
command.Parameters.Add("@AboutUser",RegData.About);
command.Parameters.Add("@Subscribe",RegData.Subscribe);
command.Parameters.Add("@Login",RegData.Login);
command.Parameters.Add("@Pwd",RegData.Pwd);
command.Parameters.Add("@Country",RegData.Country);
command.Parameters.Add("@Sity",RegData.City);
command.Parameters.Add("@Status",1);
command.Parameters.Add("@WhereKnow",RegData.WhereKnow);
сommand.ExecuteNonQuery();

Система матюкается

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.Data.SqlClient.SqlException: Prepared statement '(@FName nvarchar(4000),@LName nvarchar(4000),@Prop int,@Group in' expects parameter @FName, which was not supplied. at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream) at System.Data.SqlClient.SqlCommand.ExecuteNonQuery() at tors.ForumService.Register(Reg RegData) in c:\inetpub\wwwroot\tors\forumservice.asmx.cs:line 110 --- End of inner exception stack trace ---


C ув. Tors
...
Рейтинг: 0 / 0
23.02.2005, 20:50
    #32930135
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
А что такое command ?

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
23.02.2005, 21:02
    #32930143
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
Так понял что это Command. Во-первых, мне не нравиться что вы добавляете параметры не указывая их тип.

Во-вторых, отладьте ваш Insert в QueryAnalyzer.

Хотелось бы взглянуть на структуру таблицы.

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
24.02.2005, 15:13
    #32931460
tors
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
command - это SqlCommand
Таблица:

create table Users
(
Usr_ID int IDENTITY(0,1) not null
PRIMARY KEY,
FName varchar(60) not null,
LName varchar(60) not null,
Email varchar(40) not null,
WEB varchar(40),
ICQ varchar(15),
AboutUser varchar(5000),
Subscripte varchar(1000),
Login varchar(10) not null,
Pwd varchar(10) not null,
Premissions int not null,
Group_ID int not null
FOREIGN KEY REFERENCES UserGroup(Group_ID),
Properties int not null,
Country varchar(15),
City varchar(15),
Status int,
WhereKnow int,
RegisterDate datetime
);

C ув. Tors
...
Рейтинг: 0 / 0
24.02.2005, 15:42
    #32931556
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
Отладьте сначала свой Insert в Query Analyzer.
Код: plaintext
1.
2.
command.CommandText=@"insert into Users(FName,LName,Properties,Group_ID,Premissions,EMail,WeBб
ICQ,AboutUser,Subscripte,Login,Pwd,Country,Sity,Status,WhereKnow,RegisterDate)values(@FName,@LName,@Prop,@Group,@Prem,@EMail,@WeB,@ICQ,@AboutUser,@Subscribe,@Login,@Pwd,@Country,@Sity,@Status,@WhereKnow,GetDate());";

Например, в Insert используется поле Sity, а в таблицы Users такого поля НЕТ!!!

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
25.02.2005, 09:03
    #32932518
Va1entin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
Код: plaintext
1.
2.
Command.Parameters.Add("<Параметр>", SqlDbType.Int) 'Здесь указывается 
тип параметра
Command.Parameters.Item("<Параметр>").Value = <Значение>

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
26.02.2005, 11:19
    #32934780
Параметры
Можно и короче писать:
Код: plaintext
1.
Command.Parameters.Add("<Параметр>", SqlDbType.Int).Value = <Значение>
...
Рейтинг: 0 / 0
26.02.2005, 16:32
    #32934973
Sa
Sa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параметры
:-)
Можно и так написать:
Код: plaintext
1.
2.
param = Command.Parameters.Add("<Параметр>", SqlDbType.Int);
param.Value = <Значение>
Только налицо явные ошибки в запросе, так что как не пиши....

Код: plaintext
 uid  =  S a
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Параметры / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]