【发布时间】:2020-04-20 20:19:38
【问题描述】:
由于最近发生的事件,我不得不处理主题 SQL 数据库,并且已经被困在一个问题上很长一段时间了。
我已将数据类型“varchar(50)”分配给一列,然后想将其更改为“money”。在 SQL 数据库中,这没有问题,但在我的 C# 代码中无法识别更改。
我有几个数据类型为“money”的列,它们都需要一个“十进制”值。但是更新后的列仍然需要一个字符串。
public Artikel_zeigen()
{
InitializeComponent();
//SQL Connection
string connectionString = Properties.Settings.Default.QBig3dConnectionString;
dataContext = new LinqToSqlDataClassesDataContext(connectionString);
cs = connectionString;
dataContext = new LinqToSqlDataClassesDataContext(connectionString);
UserControlVisibility(Visibility.Visible, Visibility.Hidden,Visibility.Hidden, Visibility.Hidden);
}
private void SaveDocumentClick(object sender, RoutedEventArgs e)
{
CreateNewArticle();
SetAllReadOnly(true);
txtSearch.Text = GetLastId();
}
public void CreateNewArticle()
{
QBig3d newArticle = new QBig3d();
newArticle.Aktiv = strActive;
newArticle.ArtikelInfo = strItemInformation;
newArticle.Benennung1 = strDesignation1;
newArticle.Benennung2 = strDesignation2;
newArticle.Preis1 = decPrice1;
newArticle.Preis2 = decPrice2;
newArticle.Preis3 = decPrice3;
newArticle.Preisstaffel = strPriceScale;
newArticle.Seriennummer = strSerialNumber;
newArticle.VerkaufsPreis = decSalePrice;
//newArticle.Artikelnummer = intIdentNumber;
dataContext.QBig3d.InsertOnSubmit(newArticle);
dataContext.SubmitChanges();
}
代码行“newArticle.VerkaufsPreis = decSalePrice;”要求一个字符串,但该列是用“钱”以及其他列声明的,唯一的区别是,它是在之后更改的。
【问题讨论】:
-
您采用哪种数据库方法?(代码优先,数据库优先)
-
我先关注代码
-
您使用的是哪个 dbms? (ANSI SQL 没有货币数据类型。)
-
MS SQL - 我也尝试过其他数据类型,但没有任何效果
-
请包含
QBig3d类定义和表定义。您的问题是关于数据类型的,但到目前为止您没有显示任何相关列和属性的数据类型。
标签: c# sql sql-server types