我用存储过程的时候没有错误,但没有修改X=0
我用SQL语句的时候就可以。这是为什么,那里有错误????
更新的程序
public static void ModefiyBookInfo(string [] a)
{
                  SqlConnection conn =  Connect .GetSqlconnection ();
//SqlCommand cmd = new SqlCommand ("update_TBL_BookInfo",conn);
//cmd.CommandType = CommandType .StoredProcedure ;
SqlCommand cmd = new SqlCommand ("UPDATE TBL_BookInfo SET  ISBN = @ISBN, BookName = @BookName,Author = @Author, PublishDate= @PublishDate,BookVersion = @BookVersion,WordCount = @WordCount, PageCount = @PageCount,Publisher = @Publisher, ClassID = @ClassID WHERE BookID= @BookID",conn);
cmd.Parameters .Add ("@BookID",a[0]);
cmd.Parameters .Add ("@ISBN",a[1]);
cmd.Parameters .Add ("@BookName",a[2]);
cmd.Parameters .Add ("@Author",a[3]);
cmd.Parameters .Add ("@PublishDate",a[4]);
cmd.Parameters .Add ("@BookVersion",a[5]);
cmd.Parameters .Add ("@WordCount",a[6]);
cmd.Parameters .Add ("@PageCount",a[7]);
cmd.Parameters .Add ("@Publisher",a[8]);
cmd.Parameters .Add ("@ClassID",a[9]);
conn.Open ();
int x = cmd.ExecuteNonQuery ();
conn.Close ();
}存储过程
CREATE PROCEDURE [update_TBL_BookInfo]
(@BookID [char],
 @ISBN [char](20),
 @BookName [nvarchar](50),
 @Author [nvarchar](20),
 @PublishDate [datetime],
 @BookVersion [nvarchar](40),
 @WordCount [int],
 @PageCount [smallint],
 @Publisher [nvarchar](40),
 @ClassID [char](10))AS UPDATE [LibrarySystem].[dbo].[TBL_BookInfo] SET  [ISBN] = @ISBN,
 [BookName] = @BookName,
 [Author] = @Author,
 [PublishDate] = @PublishDate,
 [BookVersion] = @BookVersion,
 [WordCount] = @WordCount,
 [PageCount] = @PageCount,
 [Publisher] = @Publisher,
 [ClassID] = @ClassID WHERE 
( [BookID] = @BookID)
GO