Int.TryParse仅将布尔值传递给数据库

时间:2017-08-11 18:56:36

标签: c# winforms visual-studio int tryparse

首先,我在将数据插入数据库时​​遇到错误。错误是:

  

"输入字符串格式不正确"

但后来我使用'use strict'; angular. module('bookingList'). component('bookingList', { templateUrl: 'booking-list/booking-list.template.html', controller: ['BookingService','$location', function (BookingService, $location) { let self = this; self.bookings = BookingService.query(); self.orderProp = 'bookingTime'; self.editBooking = function (id) { $location.path(`/edit/${id}`); }; self.deleteBooking = function (booking, $event) { BookingService.delete({ id: booking.bookingId }, function () { let index = self.bookings.indexOf(booking); self.bookings.splice(index, 1); }); if ($event.stopPropagation) $event.stopPropagation(); if ($event.preventDefault) $event.preventDefault(); $event.cancelBubble = true; $event.returnValue = false; }; } ] }); Int.TryParse转换为string,然后就可以了。但我现在面临的问题是int只将1或0之类的布尔值传递给数据库。

例如:如果我在Int.TryParse中写入34并单击“确定”以插入。 textbox仅将布尔值传递给数据库。 I-E; 1或0。

任何人都可以帮助我吗?任何帮助将非常感激。

这是我的代码:

textbox

4 个答案:

答案 0 :(得分:1)

快速回答:您的代码已设置为使用int.Parse(string)替换它将使其正常工作。

int.TryParse(string, out int)是一个函数,用于确保当字符串不是Int32的rappresentable时,它不会返回默认值(因为int不是可空类型)。如果TryParse返回true,则字符串在int。

中成功翻译

TryParse示例:

int num;
if (int.TryParse("1", out num))
{
    Console.WriteLine(num);
}

解析的例子:

int num = int.Parse("1");

答案 1 :(得分:0)

你得到布尔值的原因是因为你传递了一个布尔值。 int.TryParse(string s, out x)将返回True或False。如果您想要访问已解析的int值,则需要使用x部分中指定的out变量。

答案 2 :(得分:0)

问题是你要将字段的值设置为返回布尔值的int.TryParse()方法的返回结果。

只需将值设置为out中的值return。

Int32.TryParse(txtUnit.Text, out unit);
param[5].Value = unit;

答案 3 :(得分:0)

请看这个例子:

public class Example
{
   public static void Main()
   {
      String[] values = { null, "160519", "9432.0", "16,667",
                          "   -322   ", "+4302", "(100);", "01FA" };
      foreach (var value in values) {
         int number;

         bool result = Int32.TryParse(value, out number);
         if (result)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value == null ? "<null>" : value);
         }
      }
   }
}

<强>输出

//       Attempted conversion of '<null>' failed.
//       Converted '160519' to 160519.
//       Attempted conversion of '9432.0' failed.
//       Attempted conversion of '16,667' failed.
//       Converted '   -322   ' to -322.
//       Converted '+4302' to 4302.
//       Attempted conversion of '(100);' failed.
//       Attempted conversion of '01FA' failed.

如果转换正确完成,则true将返回false。因此,此示例中的result变量为true(1)false(0)