插入后,只插入一个字符“字符串”。在数据库中
下面是我的表截图:
插入后的数据
C#中的代码
SqlConnection con = new SqlConnection(connectionsession.Con);
con.Open();
SqlCommand cmd = new SqlCommand("finalinsert", con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@fid", SqlDbType.Int)).Value = flightsession.Sflightid;
cmd.Parameters.Add(new SqlParameter("@fcid", SqlDbType.Int)).Value = flightsession.Sflightcostid;
cmd.Parameters.Add(new SqlParameter("@ftid", SqlDbType.Int)).Value = flightsession.Sflighttimingid;
cmd.Parameters.Add(new SqlParameter("@frdn", SqlDbType.Date)).Value = DateTime.Now.ToString("dd-MM-yyyy");
cmd.Parameters.Add(new SqlParameter("@ford", SqlDbType.Date)).Value = flightsession.Regdate;
cmd.Parameters.Add(new SqlParameter("@uid", SqlDbType.Int)).Value = loginsession.Auser;
cmd.Parameters.Add(new SqlParameter("@paid", SqlDbType.Int)).Value = "1";
cmd.Parameters.Add(new SqlParameter("@source", SqlDbType.VarChar)).Value = flightsession.Sscource;
cmd.Parameters.Add(new SqlParameter("@destination", SqlDbType.VarChar)).Value = flightsession.Sdestination;
cmd.Parameters.Add(new SqlParameter("@fn", SqlDbType.VarChar)).Value = flightsession.Sflightname;
cmd.Parameters.Add(new SqlParameter("@fc", SqlDbType.VarChar)).Value = flightsession.Total;
cmd.Parameters.Add(new SqlParameter("@fty", SqlDbType.VarChar)).Value = flightsession.Stype;
cmd.Parameters.Add(new SqlParameter("@fcl", SqlDbType.VarChar)).Value = flightsession.Sflightclass;
cmd.Parameters.Add(new SqlParameter("@ft", SqlDbType.Time)).Value =flightsession.Sflighttime;
cmd.ExecuteNonQuery();
MessageBox.Show("Succesful");
con.Close();
flightreceipt ob18 = new flightreceipt();
ob18.ShowDialog();
this.Hide();
在SQL Server 2008中创建过程的代码
ALTER procedure [dbo].[finalinsert] @fid int,@fcid int,@ftid int,@frdn date,@ford date,@uid int,
@paid int,@source varchar,@destination varchar,@fc varchar,@fty varchar,@fcl varchar,@ft time(7) ,@fn varchar
AS
INSERT INTO [shangrila].[dbo].[flight_reg_table]
([flight_id]
,[flight_cost_id]
,[flight_time_id]
,[flight_reg_date_now]
,[flight_on_reg_date]
,[user_id]
,[paid]
,[source]
,[destination]
,[flight_name]
,[flight_cost]
,[flight_type]
,[flight_class]
,[flight_time])
VALUES
(@fid,
@fcid,
@ftid,
@frdn,
@ford,
@uid,
@paid,
@source,
@destination,
@fn,
@fc,
@fty,
@fcl,
@ft)
我试图找出原因!但我被卡住了。
记住我插入的所有格式都是字符串。
谢谢。
没有找到相关结果
已邀请:
4 个回复
膛嵌墒缅欠
。默认长度为1,因此SQL只向您的sproc发送一个字符。 ALTER程序[dbo]。[finalinsert] @fid int ,@ fcid int ,@ ftid int ,@ frdn日期 ,@福特日期 ,@ uid int ,@ paid int ,@ source varchar(50) ,@ destination varchar(50) ,@ fc varchar(50) ,@ fty varchar(50) ,@ fcl varchar(50) ,@ ft时间(7) ,@ fn varchar(50) 如 您可能还需要更改调用中的数据类型以包括长度,但ADO.NET可能会正确处理它。
粱委教
阅读有关SqlConnection.Dispose()和using(){}块的更多信息。
骨乏唯瓜
镀建啼