关于SQL语句中使用变量的问题

来源:百度知道 编辑:UC知道 时间:2024/07/05 01:09:00
用C#写了一段向MySQL数据库里面插入一个Record的代码,
数据库里面的表名是meetingevents,代码如下:

System.Data.Odbc.OdbcConnection connection = new System.Data.Odbc.OdbcConnection( ConfigurationManager.ConnectionStrings["ConnectionOne"].ConnectionString );

System.Data.Odbc.OdbcCommand insertCommand = new System.Data.Odbc.OdbcCommand( "INSERT INTO meetingevents (Name, EventName, Room, AttendeeList, DateTime) VALUES (@Name, @EventName, @Room, @AttendeeList, @DateTime)", connection );

insertCommand.Parameters.AddWithValue( "Name", eventBox.Text );
insertCommand.Parameters.AddWithValue("EventName", eventBox.Text );
insertCommand.Parameters.AddWithValue( "Room", roomList.SelectedValue );
insertCommand.Parameters.AddWithValue( "AttendeeList", strAttendee );
insertCommand.Parameters.AddW

插入进去的数据的类型不匹配. 以int型和nvarchar型为例,其他的像日期型的你自己发挥.

问:
存储过程这样的:
CREATE PROCEDURE insertxuesheng @xuehao int,@xingming varchar,@banji varchar,@zhuanye varchar,@nianling int,@xingbie varchar AS
insert 学生(学号,姓名,班级,专业,年龄,性别) values(@xuehao,@xingming,@banji,@zhuanye,@nianling,@xingbie)
代码这样的:
SqlCommand cmd = new SqlCommand("insertxuesheng", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@xuehao", TextBox1.Text);
cmd.Parameters.AddWithValue("@xingming",TextBox2.Text);
cmd.Parameters.AddWithValue("@banji", TextBox3.Text);
cmd.Parameters.AddWithValue("@zhuanye", TextBox4.Text);
cmd.Parameters.AddWithValue("@nianling", TextBox5.Text);
cmd.Parameters.AddWithValue("@xingbie", TextBox6.Text);
cmd.ExecuteNonQuery();

插入数据后我去看数据库里的表,发现只有学号和年龄有数据,其他都是空值,怎么回事

答:
传入的数据类型不对.