从数据表中删除char [英] Remove char from datatable
问题描述
我怎样才能从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 yourDataGridView
. 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屋!