C#.net,通过存储过程更新数据库时出错
本文关键字:更新 数据库 出错 存储过程 net | 更新日期: 2023-09-27 17:55:02
你好!我是c#.net初学者
**my Store procedure:**
USE [DB_COUNTERINTELLIGENCE] GO /****** Object: StoredProcedure [dbo].[Updatederogatory] Script Date: 2015/6/12 1:21:24 AM ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[Updatederogatory] @ID int, @txtid int, @Firstname varchar(30), @Middlename varchar(30), @Lastname varchar(30), @Company varchar(50), @Department varchar(40), @Position varchar(40), @Violation text, @DateCommitted date, @TimeCommitted nchar(10), @Remarks text, @Activities text, @Violation2 text, @DateCommitted2 date, @TimeCommitted2 nchar(10), @Remarks2 text, @Activities2 text, @Violation3 text, @DateCommitted3 date, @TimeCommitted3 nchar(10), @Remarks3 text, @Activities3 text, @Images image AS BEGIN SET NOCOUNT ON;
UPDATE tbl_decimaly SET Firstname=@Firstname,Middlename=@Middlename,Lastname=@姓氏,Company=@公司,部门=@部门,职位=@职位,违规=@违规,DateCommitted=@DateCommitted,TimeCommitted=@TimeCommitted,备注=@备注,活动=@活动,违规2=@Violation2,DateCommitted2=@DateCommitted2,TimeCommitted2=@TimeCommitted2,Remarks2=@Remarks2,Activities2=@Activities2,Violation3=@Violation3,DateCommitted3=@DateCommitted3,TimeCommitted3=@TimeCommitted3,Remarks3=@Remarks3,Activities3=@Activities3,Images=@Images WHERE ID=@txtid END
**Here is my code:**
> if (txtid.Text == "")
> {
> MessageBox.Show("Require ID is a must, Please Registered again for your ID", "ERROR", MessageBoxButtons.OK,
> MessageBoxIcon.Error);
> }
> else if (txtfirstname.Text == "")
> {
> MessageBox.Show("Your name is missing", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
>
> }
> else if (txtlastname.Text == "")
> {
> MessageBox.Show("Your Last name is missing", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
> }
> else if (txtmiddlename.Text == "")
> {
> MessageBox.Show("Your Middle name is missing", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
> }
> else
> {
> try
> {
> byte[] img = null;
> FileStream fs = new FileStream(imageLocation, FileMode.Open, FileAccess.Read);
> BinaryReader br = new BinaryReader(fs);
> img = br.ReadBytes((int)fs.Length);
>
> SqlConnection con = new SqlConnection(cs);
> SqlCommand cmd = new SqlCommand();
> cmd.Connection = con;
> cmd.CommandType = CommandType.StoredProcedure;
> cmd.CommandText = "Updatederogatory";
> cmd.Parameters.AddWithValue("@ID", txtid.Text);
> cmd.Parameters.AddWithValue("@Firstname", txtfirstname.Text);
> cmd.Parameters.AddWithValue("@Middlename", txtmiddlename.Text);
> cmd.Parameters.AddWithValue("@Lastname", txtlastname.Text);
> cmd.Parameters.AddWithValue("@Company", combocompany.Text);
> cmd.Parameters.AddWithValue("@Department", comboDepartment.Text);
> cmd.Parameters.AddWithValue("@Position", txtposition.Text);
>
> cmd.Parameters.AddWithValue("@Violation", richviolation.Text);
> cmd.Parameters.AddWithValue("@DateCommitted ", datecommitted.MaxDate);
> cmd.Parameters.AddWithValue("@TimeCommitted", timecommitted.Text);
> cmd.Parameters.AddWithValue("@Remarks", richremarks.Text);
> cmd.Parameters.AddWithValue("@Activities", richderoactivities.Text);
>
> cmd.Parameters.AddWithValue("@Violation2", richviolation2.Text);
> cmd.Parameters.AddWithValue("@DateCommitted2", datecommitted2.MaxDate);
> cmd.Parameters.AddWithValue("@TimeCommitted2", timecommitted2.Text);
> cmd.Parameters.AddWithValue("@Remarks2", richremarks2.Text);
> cmd.Parameters.AddWithValue("@Activities2", richactivities2.Text);
>
> cmd.Parameters.AddWithValue("@Violation3", richviolation2.Text);
> cmd.Parameters.AddWithValue("@DateCommitted3", datecommitted2.MaxDate);
> cmd.Parameters.AddWithValue("@TimeCommitted3", timecommitted2.Text);
> cmd.Parameters.AddWithValue("@Remarks3", richremarks2.Text);
> cmd.Parameters.AddWithValue("@Activities3", richactivities3.Text);
> con.Open();
> cmd.Parameters.Add(new SqlParameter("@Images", img));
> cmd.ExecuteNonQuery();
> con.Close();
> MessageBox.Show("Successfully Updated");
> }
> catch (Exception ex)
> {
>
> MessageBox.Show(ex.Message);
> }
}
我的问题是,当我点击更新按钮时,消息框将弹出并写下错误"空路径名称不合法"。。
如何解决这个问题?
错误是由于变量"imageLocation"尚未初始化而引起的。
我认为问题出在这一行:
FileStream fs = new FileStream(imageLocation, FileMode.Open, FileAccess.Read);
imageLocation
内可能没有字符串(有空字符串(