从数据表中删除char [英] Remove char from datatable

查看:85
本文介绍了从数据表中删除char的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我怎样才能从datatable中删除char。我有一个SQL请求,我有正常的值,例如。 100但数据表写我100,000000 hav我可以删除char ,000000 ?谢谢



问题所在: qer - imgbb.com [ ^ ]



我尝试了什么:



 Public Shared Sub kusovnik(ByVal sender As Object,byval e As EventArgs)处理MyBase.Load 



'PRIPOJENI K DATABAZI
Dim rs As New ADODB.Recordset
Dim cnn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs2 As New ADODB.Recordset

'Otevreni spojeni
cnn.ConnectionString =driver = {SQL Server}; &安培; server = 000.000.000.000; uid = 00; pwd = 00000 +; database = 00000

尝试
cnn.Open()
如果cnn.State = 1则
Assy_line_light.PripojenoPic.Show()
Assy_line_light.PripojenoLab.Show()
Assy_line_light.OdpojenoPic.Hide()
Assy_line_light.OdpojenoLab.Hide()
''MsgBox (Spojeníověřeno!,Ověřeníspojení)
'Overeni zda pripojeni probehlo Ok
Else
MsgBox(Chybavpřipojeníkdatabázi。,Ověřenípřipojeníkdatabázi )
Assy_line_light.PripojenoPic.Hide()
Assy_line_light.PripojenoLab.Hide()
Assy_line_light.OdpojenoPic.Show()
Assy_line_light.OdpojenoLab.Show()
End如果
Catch ex As Exception
Assy_line_light.PripojenoPic.Hide()
A ssy_line_light.PripojenoLab.Hide()
Assy_line_light.OdpojenoPic.Show()
Assy_line_light.OdpojenoLab.Show()
''MsgBox(Chybapřipojeníkdatabázi!,Chyba)
结束尝试


ManipMat.barcodeMan = Assy_line_light.TextBox8.Text


'Cislo Dilu na zaklade Caroveho kodu
RS2 = cnn.Execute( 选择VVyrobniOperaceKmenZbozi.RegCis从TabPrPostup LEFT OUTER JOIN TabPrikaz VVyrobniOperacePrikaz ON TabPrPostup.IDPrikaz = VVyrobniOperacePrikaz.ID LEFT OUTER JOIN TabKmenZbozi VVyrobniOperaceKmenZbozi ON TabPrPostup.dilec = VVyrobniOperaceKmenZbozi.ID WHERE TabPrPostup.BarCode = &安培; ManipMat.barcodeMan& ')


'Cislo dilu


'Zadany条形码


'Podpurne tabulky pro propojeni s DB
Dim custDA As OleDbDataAdapter = New OleDbDataAdapter()
Dim custDS As DataSet = New DataSet
Dim custTable As New DataTable

custDS.Tables.Add( custTable.ToString)

cmd.ActiveConnection = cnn
'SQL request
cmd.CommandText =SELECT VKVazbyNizsiKmenZbozi.SkupZbo,VKVazbyNizsiKmenZbozi.RegCis,VKVazbyNizsiKmenZbozi.Nazev1,TabKvazby.mnozstvi
从TabKvazby
LEFT JOIN TabCzmeny VKVazbyZmenaOdCZmeny ON TabKvazby.ZmenaOd = VKVazbyZmenaOdCZmeny.ID
LEFT JOIN TabCzmeny VKVazbyZmenaDoCZmeny ON TabKvazby.ZmenaDo = VKVazbyZmenaDoCZmeny.ID
LEFT JOIN TabKmenZbozi VKVazbyVyssiKmenZbozi ON VKVazbyVyssiKmenZbozi.ID = TabKvazby.vyssi
LEFT JOIN TabKmenZbozi VKVazbyNi zsiKmenZbozi ON TabKvazby.nizsi = VKVazbyNizsiKmenZbozi.ID
WHERE(SELECT tabPostup.nazev FROM tabPostup WHERE TabPostup.dilec = VKVazbyVyssiKmenZbozi.IDKusovnik AND TabKvazby.Operace = TabPostup.Operace)='Balení'ANDVKVazbyVyssiKmenZbozi.RegCis =(SELECT VVyrobniOperaceKmenZbozi .RegCis FROM TabPrPostup LEFT JOIN TabKmenZbozi VVyrobniOperaceKmenZbozi ON TabPrPostup.dilec = VVyrobniOperaceKmenZbozi.ID WHERE TabPrPostup.BarCode ='& ManipMat.barcodeMan& ')

rs.Open(cmd)
custDA.Fill(custTable,rs)

'Nazvy polozek v tabulce
custTable.Columns (0).ColumnName =Skupinazboží
custTable.Columns(1).ColumnName =Registračníčíslo
custTable.Columns(2).ColumnName =Názevmateriálu
custTable。列(3).ColumnName =Početkusů



'Naplneni nove tabulky ve formulari
Assy_line_light.DataGridView1.DataSource = custTable

'Ukonceni spojeni s DB
rs.Close()
cnn.Close()
Assy_line_light.DataGridView1.Columns(Početkusů)。DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight


End Sub

解决方案

尝试这样的事情:

< pre lang =vb> Imports 系统
Imports System.Xml
Imports System.Data

Public 模块 Module1
公共 Sub Main()
' 从辅助函数中获取DataTable实例。
Dim 作为 DataTable = GetTable()
Dim sql < span class =code-keyword> As String = Dosage> 0
Dim rows() As DataRow = table。选择(sql)

对于 每个 row 作为 DataRow 行中
' 转换并写入第一个值
行( 0 )= Convert.ToInt32 (row( 0 ))
Console.WriteLine(row( 0 ))
下一步
结束 Sub

''' < 摘要 >
''' 创建新DataTable的辅助函数。
''' < / summary >
函数 GetTable()作为 DataTable
' 创建新的DataTable实例。
Dim As DataTable

' 创建四个类型DataTable中的列。
table.Columns.Add( Dosage GetType Decimal ))
table.Columns.Add( Drug GetType String ))
table .Columns.Add( Patient GetType String ))
table.Columns.Add( 日期 GetType (日期时间))

' 添加五行,其中列填充在DataTable中。
table.Rows.Add( 25 Indocin David,DateTime.Now)
table.Rows.Add( 50 ,< span class =code-string> Enebrel Sam,DateTime.Now)
table.Rows.Add( 10 肼苯哒嗪 Christoff,DateTime.Now)
table.Rows.Add( 21 。< span class =code-digit> 5 , Combivent Janet,DateTime.Now)
table.Rows.Add( 100 0000001 Dilantin Melanie,DateTime.Now)
返回
结束 功能

结束 模块



你也可以在这里看到这个: C#Online Compiler | .NET小提琴 [ ^ ]

DataGridView 中显示值时,必须执行格式化。您可以设置一般格式:

 DataGridView1.Columns( Početkusů)。DefaultCellStyle.Format =   F0 

参见如何:在Windows窗体DataGridView控件中格式化数据| Microsoft Docs [ ^ ]。但是这将以相同的方式格式化所有单元格(小数点后面的F0不显示任何数字)。



如果您需要不同格式的不同值,你必须创建一个事件处理程序。参见如何:在Windows窗体DataGridView控件中自定义数据格式| Microsoft Docs [ ^ ]。示例代码适用于C#,但它与所有其他.Net语言类似。


Hi, how can I remove char from datatable. I have a SQL request, where I have normal value eg. 100 but datatable write me 100,000000 hav can I remove char ,000000 ? thank you

Here is problem: qer — imgbb.com[^]

What I have tried:

Public Shared Sub kusovnik(ByVal sender As Object, byval e As EventArgs) Handles MyBase.Load



        ' PRIPOJENI K DATABAZI
        Dim rs As New ADODB.Recordset
        Dim cnn As New ADODB.Connection
        Dim cmd As New ADODB.Command
        Dim rs2 As New ADODB.Recordset

        ' Otevreni spojeni
        cnn.ConnectionString = "driver={SQL Server};" & "server=000.000.000.000;uid=00;pwd=00000+;database=00000"

        Try
            cnn.Open()
            If cnn.State = 1 Then
                Assy_line_light.PripojenoPic.Show()
                Assy_line_light.PripojenoLab.Show()
                Assy_line_light.OdpojenoPic.Hide()
                Assy_line_light.OdpojenoLab.Hide()
                '' MsgBox("Spojení ověřeno ! ", , "Ověření spojení")
                ' Overeni zda pripojeni probehlo Ok
            Else
                MsgBox("Chyba v připojení k databázi.", , "Ověření připojení k databázi")
                Assy_line_light.PripojenoPic.Hide()
                Assy_line_light.PripojenoLab.Hide()
                Assy_line_light.OdpojenoPic.Show()
                Assy_line_light.OdpojenoLab.Show()
            End If
        Catch ex As Exception
            Assy_line_light.PripojenoPic.Hide()
            Assy_line_light.PripojenoLab.Hide()
            Assy_line_light.OdpojenoPic.Show()
            Assy_line_light.OdpojenoLab.Show()
            ''MsgBox("Chyba připojení k databázi!", , "Chyba")
        End Try


        ManipMat.barcodeMan = Assy_line_light.TextBox8.Text


        ' Cislo Dilu na zaklade Caroveho kodu 
        rs2 = cnn.Execute("SELECT VVyrobniOperaceKmenZbozi.RegCis From TabPrPostup LEFT OUTER JOIN TabPrikaz VVyrobniOperacePrikaz ON TabPrPostup.IDPrikaz=VVyrobniOperacePrikaz.ID LEFT OUTER JOIN TabKmenZbozi VVyrobniOperaceKmenZbozi ON TabPrPostup.dilec=VVyrobniOperaceKmenZbozi.ID WHERE TabPrPostup.BarCode = '" & ManipMat.barcodeMan & "'")


        'Cislo dilu


        'Zadany barcode


        'Podpurne tabulky pro propojeni s DB
        Dim custDA As OleDbDataAdapter = New OleDbDataAdapter()
        Dim custDS As DataSet = New DataSet
        Dim custTable As New DataTable

        custDS.Tables.Add(custTable.ToString)

        cmd.ActiveConnection = cnn
        'SQL request
        cmd.CommandText = "SELECT VKVazbyNizsiKmenZbozi.SkupZbo, VKVazbyNizsiKmenZbozi.RegCis, VKVazbyNizsiKmenZbozi.Nazev1, TabKvazby.mnozstvi
            FROM TabKvazby   
            LEFT JOIN TabCzmeny VKVazbyZmenaOdCZmeny ON TabKvazby.ZmenaOd=VKVazbyZmenaOdCZmeny.ID   
            LEFT JOIN TabCzmeny VKVazbyZmenaDoCZmeny ON TabKvazby.ZmenaDo=VKVazbyZmenaDoCZmeny.ID   
            LEFT JOIN TabKmenZbozi VKVazbyVyssiKmenZbozi ON VKVazbyVyssiKmenZbozi.ID=TabKvazby.vyssi   
            LEFT JOIN TabKmenZbozi VKVazbyNizsiKmenZbozi ON TabKvazby.nizsi=VKVazbyNizsiKmenZbozi.ID 
            WHERE(SELECT tabPostup.nazev FROM tabPostup WHERE TabPostup.dilec = VKVazbyVyssiKmenZbozi.IDKusovnik AND TabKvazby.Operace = TabPostup.Operace) = 'Balení' AND VKVazbyVyssiKmenZbozi.RegCis = (SELECT VVyrobniOperaceKmenZbozi.RegCis FROM TabPrPostup LEFT JOIN TabKmenZbozi VVyrobniOperaceKmenZbozi ON TabPrPostup.dilec = VVyrobniOperaceKmenZbozi.ID WHERE TabPrPostup.BarCode = '" & ManipMat.barcodeMan & "')"

        rs.Open(cmd)
        custDA.Fill(custTable, rs)

        'Nazvy polozek v tabulce
        custTable.Columns(0).ColumnName = "Skupina zboží"
        custTable.Columns(1).ColumnName = "Registrační číslo"
        custTable.Columns(2).ColumnName = "Název materiálu"
        custTable.Columns(3).ColumnName = "Počet kusů"



        'Naplneni nove tabulky ve formulari
        Assy_line_light.DataGridView1.DataSource = custTable

        'Ukonceni spojeni s DB
        rs.Close()
        cnn.Close()
        Assy_line_light.DataGridView1.Columns("Počet kusů").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight


    End Sub

解决方案

Try something like this:

Imports System
Imports System.Xml
Imports System.Data
				
Public Module Module1
	Public Sub Main()
        ' Get a DataTable instance from helper function.
        Dim table As DataTable = GetTable()
	Dim sql As String = "Dosage > 0" 
	Dim rows() As DataRow = table.Select(sql)
	
	For Each row As DataRow In rows
         	' Convert and write first value
		row(0) = Convert.ToInt32(row(0))
		Console.WriteLine(row(0))
        Next
    End Sub

    ''' <summary>
    ''' Helper function that creates new DataTable.
    ''' </summary>
    Function GetTable() As DataTable
        ' Create new DataTable instance.
        Dim table As New DataTable

        ' Create four typed columns in the DataTable.
	table.Columns.Add("Dosage", GetType(Decimal))
        table.Columns.Add("Drug", GetType(String))
        table.Columns.Add("Patient", GetType(String))
        table.Columns.Add("Date", GetType(DateTime))

        ' Add five rows with those columns filled in the DataTable.
        table.Rows.Add(25, "Indocin", "David", DateTime.Now)
        table.Rows.Add(50, "Enebrel", "Sam", DateTime.Now)
        table.Rows.Add(10, "Hydralazine", "Christoff", DateTime.Now)
        table.Rows.Add(21.5, "Combivent", "Janet", DateTime.Now)
        table.Rows.Add(100.0000001, "Dilantin", "Melanie", DateTime.Now)
        Return table
    End Function
	
End Module


You can also see this in action here: C# Online Compiler | .NET Fiddle[^]


You have to perform the formatting when showing the values in your DataGridView. You can set a general format:

DataGridView1.Columns("Počet kusů").DefaultCellStyle.Format = "F0"

See How to: Format Data in the Windows Forms DataGridView Control | Microsoft Docs[^]. But that will format all cells in the same manner (not show any digits after the decimal point with "F0").

If you need different formats for different values, you have to create an event handler. See How to: Customize Data Formatting in the Windows Forms DataGridView Control | Microsoft Docs[^]. The example code is for C# but it is similar for all other .Net languages.


这篇关于从数据表中删除char的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆