Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我能';我似乎没有将这些记录添加到VisualStudio中的数据库中_C#_Visual Studio 2010_Sql Server 2008 - Fatal编程技术网

C# 我能';我似乎没有将这些记录添加到VisualStudio中的数据库中

C# 我能';我似乎没有将这些记录添加到VisualStudio中的数据库中,c#,visual-studio-2010,sql-server-2008,C#,Visual Studio 2010,Sql Server 2008,嗨,我是C#和SQL的新手。但我的问题是SQL,我试图连接到我在VisualStudio2010上创建的数据库。它告诉我不能将vachar转换为float的例外。这是代码 private void execute() { ///Here we atempt to connect to the local DB System.Data.SqlClient.SqlConnection SqlConnection1 = new System.Data.SqlClie

嗨,我是C#和SQL的新手。但我的问题是SQL,我试图连接到我在VisualStudio2010上创建的数据库。它告诉我不能将vachar转换为float的例外。这是代码

private void execute()
{
     ///Here we atempt to connect to the local DB
     System.Data.SqlClient.SqlConnection SqlConnection1 = new   
     System.Data.SqlClient.SqlConnection(@"Data 
     Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated 
     Security=True;User Instance=True");
     SqlConnection1.Open();
     System.Data.SqlClient.SqlTransaction tx = SqlConnection1.BeginTransaction();
     System.Data.SqlClient.SqlCommand cmd = SqlConnection1.CreateCommand();
     cmd.Transaction = tx;
     ///Here we try to operate on the Local DB
     try
     {                
          cmd.CommandText = "INSERT INTO EmployeeInfo(EmployeeSalary,EmployeePhone,EmployeeDeskPhone,EmployeeSSN,EmployeeEmergencyContactName,EmployeeEmergencyContactPhone,EmployeeFirstName,EmployeeLastName) VALUES  
            (@_employeeSalary,'@_employeePhone','@_employeeDeskPhone','@_employeeSSN','@_employeeEmergencyContactName','@_employeeEmergencyContactPhone','@_employeeFirstName','@_employeLastName')";
          cmd.Parameters.AddWithValue("@_employeeSalary", _employeeSalary);
          cmd.Parameters.AddWithValue("@_employeePhone", _employeePhone);
          cmd.Parameters.AddWithValue("@_employeeDeskPhone", _employeeDeskPhone);
          cmd.Parameters.AddWithValue("@_employeeSSN", _employeeSSN);
          cmd.Parameters.AddWithValue("@_employeeEmergencyContactName",  
            _employeeEmergencyContactName);
          cmd.Parameters.AddWithValue("@_employeeEmergencyContactPhone", 
            _employeeEmergencyContactPhone);
          cmd.Parameters.AddWithValue("@_employeeFirstName", _employeeFirstName);
          cmd.Parameters.AddWithValue("@_employeeLastName", _employeeLastName);
          cmd.ExecuteNonQuery();
          tx.Commit();
     }
     ///If unsuccesful we rollback changes 
     catch (System.Data.SqlClient.SqlException sqlException)
     {
          System.Windows.Forms.MessageBox.Show(sqlException.Message);
          tx.Rollback();
          Console.WriteLine("**** There was Trouble Houston, with the Insert****");
     }
     ///Thhis piee of code always executes
     finally
     {
          SqlConnection1.Close();
          Console.WriteLine("***** if theres no trouble before this,  then It succesfully added the record to the database*****");
     } 
}
变量employeesalary被设置为float,并且是唯一的一个,因此我不明白它为什么显示该消息。
如果您有任何帮助,我们将不胜感激。

您的问题很简单,出于某种原因,您将命令参数放在了单引号中。将其更改为以下内容:

cmd.CommandText = @"INSERT INTO 
  EmployeeInfo( EmployeeSalary ,EmployeePhone, EmployeeDeskPhone, EmployeeSSN,
  EmployeeEmergencyContactName, EmployeeEmergencyContactPhone, EmployeeFirstName,
  EmployeeLastName) VALUES  
  (@_employeeSalary,@_employeePhone,@_employeeDeskPhone,@_employeeSSN,
   @_employeeEmergencyContactName,@_employeeEmergencyContactPhone,
   @_employeeFirstName, @_employeLastName)";

您的问题很简单,出于某种原因,您将命令参数放在单引号中。将其更改为以下内容:

cmd.CommandText = @"INSERT INTO 
  EmployeeInfo( EmployeeSalary ,EmployeePhone, EmployeeDeskPhone, EmployeeSSN,
  EmployeeEmergencyContactName, EmployeeEmergencyContactPhone, EmployeeFirstName,
  EmployeeLastName) VALUES  
  (@_employeeSalary,@_employeePhone,@_employeeDeskPhone,@_employeeSSN,
   @_employeeEmergencyContactName,@_employeeEmergencyContactPhone,
   @_employeeFirstName, @_employeLastName)";

您的问题很简单,出于某种原因,您将命令参数放在单引号中。将其更改为以下内容:

cmd.CommandText = @"INSERT INTO 
  EmployeeInfo( EmployeeSalary ,EmployeePhone, EmployeeDeskPhone, EmployeeSSN,
  EmployeeEmergencyContactName, EmployeeEmergencyContactPhone, EmployeeFirstName,
  EmployeeLastName) VALUES  
  (@_employeeSalary,@_employeePhone,@_employeeDeskPhone,@_employeeSSN,
   @_employeeEmergencyContactName,@_employeeEmergencyContactPhone,
   @_employeeFirstName, @_employeLastName)";

您的问题很简单,出于某种原因,您将命令参数放在单引号中。将其更改为以下内容:

cmd.CommandText = @"INSERT INTO 
  EmployeeInfo( EmployeeSalary ,EmployeePhone, EmployeeDeskPhone, EmployeeSSN,
  EmployeeEmergencyContactName, EmployeeEmergencyContactPhone, EmployeeFirstName,
  EmployeeLastName) VALUES  
  (@_employeeSalary,@_employeePhone,@_employeeDeskPhone,@_employeeSSN,
   @_employeeEmergencyContactName,@_employeeEmergencyContactPhone,
   @_employeeFirstName, @_employeLastName)";


停止,停止,停止使用用户实例和AttachDbFileName。将数据库连接到适当的SQL Server实例,并按数据库名称连接,而不是通过MDF文件连接。您当前的方法已被弃用,并且在您更新程序中的某些内容时会导致调试问题,而您在SSMS或程序的其他实例中看不到它-这是因为它们有不同的数据库副本。哦,好的,非常感谢,因为我说我对sql非常陌生,我从这里开始进行一些旧的Q/a:)。谢谢你的输入,请你通过一些链接或一些特定的术语为我指出正确的方向,让我进入谷歌并了解。我几乎不理解您在那里使用的术语,这是我的错。我非常欣赏它。我喜欢为我的参数设置显式数据类型/精度/比例,而不是让命令对象根据参数的值来推断。停止,停止,停止使用User Instance和AttachDbFileName。将数据库连接到适当的SQL Server实例,并按数据库名称连接,而不是通过MDF文件连接。您当前的方法已被弃用,并且在您更新程序中的某些内容时会导致调试问题,而您在SSMS或程序的其他实例中看不到它-这是因为它们有不同的数据库副本。哦,好的,非常感谢,因为我说我对sql非常陌生,我从这里开始进行一些旧的Q/a:)。谢谢你的输入,请你通过一些链接或一些特定的术语为我指出正确的方向,让我进入谷歌并了解。我几乎不理解您在那里使用的术语,这是我的错。我非常欣赏它。我喜欢为我的参数设置显式数据类型/精度/比例,而不是让命令对象根据参数的值来推断。停止,停止,停止使用User Instance和AttachDbFileName。将数据库连接到适当的SQL Server实例,并按数据库名称连接,而不是通过MDF文件连接。您当前的方法已被弃用,并且在您更新程序中的某些内容时会导致调试问题,而您在SSMS或程序的其他实例中看不到它-这是因为它们有不同的数据库副本。哦,好的,非常感谢,因为我说我对sql非常陌生,我从这里开始进行一些旧的Q/a:)。谢谢你的输入,请你通过一些链接或一些特定的术语为我指出正确的方向,让我进入谷歌并了解。我几乎不理解您在那里使用的术语,这是我的错。我非常欣赏它。我喜欢为我的参数设置显式数据类型/精度/比例,而不是让命令对象根据参数的值来推断。停止,停止,停止使用User Instance和AttachDbFileName。将数据库连接到适当的SQL Server实例,并按数据库名称连接,而不是通过MDF文件连接。您当前的方法已被弃用,并且在您更新程序中的某些内容时会导致调试问题,而您在SSMS或程序的其他实例中看不到它-这是因为它们有不同的数据库副本。哦,好的,非常感谢,因为我说我对sql非常陌生,我从这里开始进行一些旧的Q/a:)。谢谢你的输入,请你通过一些链接或一些特定的术语为我指出正确的方向,让我进入谷歌并了解。我几乎不理解你在那里使用的术语,这是我的错,我非常感激我喜欢为我的参数设置明确的数据类型/精度/比例,而不是让命令对象根据参数的值来推断它。非常感谢这一点,try/catch没有错误尽管数据没有永久插入数据库,但它是否只是为了程序的运行时而插入数据,或者这里是否有其他事情发生……如果没有错误,然后它应该已经永久性地插入了数据,您可能希望重新查询您的表以确保。非常感谢这一点,它似乎做到了这一点,try/catch没有错误,尽管数据没有永久性地插入到数据库中,它是否只是为了程序的运行时而插入数据,或者是这里发生了其他事情……如果没有错误,那么它应该永久插入数据,您可能希望重新查询您的表以确定。非常感谢您的帮助,这似乎实现了try/catch没有错误尽管数据没有永久性地插入到数据库中,但它是否只是为了程序的运行时而插入数据,或者是否正在进行其他操作…如果没有错误,然后它应该永久插入数据,您可能希望重新查询您的表以确保。非常感谢这一技巧,try/catch没有错误尽管数据没有永久插入数据库,但它是否只是为了程序的运行时而插入数据,或者这里是否有其他事情发生……如果有