مقاله : اینسرت داده

Iauksh
بخشی از برنامه را در اینجا آورده شده:

String insertCmd1 =
"INSERT INTO tblSupplemental(id,fn,shsh,born_date,Address,tel,p ostcode,faf,memoir,degree,un,gd,po,mp,smd,emd) "+
"VALUES("
+Convert.ToInt32(TextBox10.Text.Trim()) +",'"+ TextBox9.Text.Trim ()
+"',"+ Convert.ToInt32(TextBox8.Text.Trim ())+",'"+TextBox7.Text.Trim()
+"','"+ TextBox6.Text.Trim () +"','"+TextBox11.Text.Trim ()
+"','"+ TextBox12.Text.Trim () +"','"+TextBox13.Text.Trim ()
+"','"+ TextBox14.Text.Trim () +"','"+DropDownList1.SelectedItem.ToString().Trim ()
+"','"+ TextBox15.Text.Trim () +"','"+TextBox16.Text.Trim ()
+"','"+ TextBox17.Text.Trim () +"',"+
Convert.ToInt32(TextBox18.Text.Trim ())
+",'"+ TextBox19.Text.Trim ()+"','"+ TextBox20.Text.Trim () +"')";


Input string was not in a correct format.
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.FormatException: Input string was not in a correct format.

Iauksh
ایراد کار اینجا است که شما رشته را به عدد تبدیل کرده اید (Convert.ToInt32) سپس عدد را با رشته "+" کرده اید. نمی شود!
لازم نیست که هنگام نوشتن کوئری اینزرت رشته ها را به عدد تبدیل کنید. همین که آنها را درون ' ' قرار نمی دهید یعنی عدد هستند.

Iauksh
"INSERT INTO tblSupplemental(id,fn,shsh,born_date,Address,tel,p ostcode,faf,memoir,degree,un,gd,po,mp,smd,emd) "+
"VALUES("
+TextBox10.Text.Trim() +",'"+ TextBox9.Text.Trim ()
+"',"+ TextBox8.Text.Trim ()+",'"+TextBox7.Text.Trim()
+"','"+ TextBox6.Text.Trim () +"','"+TextBox11.Text.Trim ()
+"','"+ TextBox12.Text.Trim () +"','"+TextBox13.Text.Trim ()
+"','"+ TextBox14.Text.Trim () +"','"+DropDownList1.SelectedItem.Text.Trim ()
+"','"+ TextBox15.Text.Trim () +"','"+TextBox16.Text.Trim ()
+"','"+ TextBox17.Text.Trim () +"',"+ TextBox18.Text.Trim ()
+",'"+ TextBox19.Text.Trim ()+"','"+ TextBox20.Text.Trim () +"')";


Line 1: Incorrect syntax near ','.
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: Line 1: Incorrect syntax near ','.

Iauksh

Iauksh
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tblSupplemental]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[tblSupplemental]
GO

CREATE TABLE [dbo].[tblSupplemental] (
[id] [int] NOT NULL ,
[fn] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[shsh] [int] NULL ,
[born_date] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Address] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[tel] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[postcode] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[faf] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[memoir] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[degree] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[un] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[gd] [char] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[po] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[mp] [bigint] NULL ,
[picture] [image] NULL ,
[smd] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[emd] [nchar] (10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO

Iauksh

Iauksh
در مورد نحوه ی ذخیره سازی تصویر بایناری در SQL-Server و ASP.NET :
http://www.eggheadcafe.com/articles/20020929.asp

http://www.eggheadcafe.com/articles/20020929.zip

Iauksh
بسیار کامل و عالی ولی من اصلا وی بی کار نیستم شما که لطف کردید سی شارپش را هم عنایت کنید.
با تشکر

Iauksh
من هم دیگر نیستم! یعنی اصلا با VB.NET نمی توانم کنار بیایم!
ولی کار با کد فوق از این جهت که از استانداردهای دات نت فریم ورک استفاده کرده است راحت است. نبدیل کد را از یک زبان به زبان دیگر می توانید به صورت تمرین انجام دهید! مطالب آموزنده ی زیادی در آن هست.

Iauksh