我在 SQL Server 中獲取數字并在帶有數字的標簽中顯示:
1.1.2
我希望按下按鈕時標簽為 1。
Expectation result: 1.1.3
我在專案中使用的波紋管代碼:
private void FrmMain_Load(object sender, EventArgs e)
{
Checkversion();
}
public void Checkversion()
{
string maincon = ConfigurationManager.ConnectionStrings["Connstring"].ConnectionString;
SqlConnection sqlconn = new SqlConnection(maincon);
string sqlquery = ("select * from tbl_Version ");
SqlCommand sqlcomm = new SqlCommand(sqlquery, sqlconn);
SqlDataAdapter da = new SqlDataAdapter();
{
sqlconn.Open();
da.SelectCommand = sqlcomm;
DataSet ds = new DataSet();
da.Fill(ds);
serverVersion = ds.Tables[0].Rows[0]["Version"].ToString();
lbVerionUpdate.Text = serverVersion;
sqlconn.Close();
}
}
private void Button1_Click(object sender, EventArgs e)
{
int i = Convert.ToInt32(lbVerionUpdate.Text);
i ;
var version = i.ToString();
lbVerionUpdate.Text = version;
}
我知道,如果它是整數,那么可以,但結果是十進制,所以程式給出錯誤: System.FormatException: '輸入字串的格式不正確。'
我嘗試從int替換為float但結果相同,請幫我修復它或提供替代解決方案。謝謝
uj5u.com熱心網友回復:
文本“1.1.2”不是數字(不是整數,也不是小數) threre 是 2 分!
您可以拆分文本,將陣列的最后一個條目轉換為整數,將其遞增,然后連接陣列。
喜歡
private void Button1_Click(object sender, EventArgs e)
{
lbVerionUpdate.Text = IncremVersion(lbVerionUpdate.Text);
}
private string IncremVersion(string version)
{
if (!string.IsNullOrWhiteSpace(version))
{
var nfos = version.Split('.');
if (nfos != null && nfos.Length > 0)
{
string revisionTxt = nfos[nfos.Length - 1];
if (int.TryParse(revisionTxt, out int revision))
{
revisionTxt = (revision ).ToString();
}
nfos[nfos.Length - 1] = revisionTxt;
return string.Join('.', nfos);
}
}
// Fail to increment Version here !
return version
}
uj5u.com熱心網友回復:
多虧了@jarlh,這個問題現在已經解決了。
我使用以下代碼。
private void Button1_Click(object sender, EventArgs e)
{
string _versionDB = lbVerionUpdate.Text;
var version = new Version(_versionDB);
var newRevisionVersion = new Version(version.Major, version.Minor, version.Build 1);
_versionDB = newRevisionVersion.ToString();
lbVerionUpdate.Text = _versionDB;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/332898.html
標籤:C# sql sql-server winforms 按钮
