我找到了有趣的格式来打印非终止的固定长度字符串,如下所示:
char newstr[40] = {0};
sprintf(newstr,"%.*s", sizeof(mystr), mystr);
Run Code Online (Sandbox Code Playgroud)
所以我想也许在printf命令下有一种打印浮点数的方法......
"%8.2f"
能够选择整数的小数位数.
像这样的东西:
sprintf(mystr, "%d %f", numberofdecimals, floatnumbervalue)
Run Code Online (Sandbox Code Playgroud)
编辑 - 解决方案:(
用于将浮点数舍入和清除到所需精度).
int precision = 2;
char kolf[16] = {0};
sprintf(kolf, "%8.*f", precision, mystruct.myfloat);
float kol = atof(kolf);
Run Code Online (Sandbox Code Playgroud) 刚开始通过C和libpq在linux上学习PostgreSQL 9.1.
现在我检查连接,连接,创建数据库,创建表和其他基本的东西.但我注意到在创建表时,PQ会将我的数据库名称转换为小写.然后我看到表名和字段名也被强制为小写.但是,当我尝试连接数据库的大写(原始)名称时,我收到警告,询问数据库不存在.
最重要的是所有名字都保持书面形式.这有可能通过一些简单的方法/设置获得吗?
例如:
M_122_KL0001_2011_001_0100001
将被创建为m_122_kl0001_2011_001_0100001我不想要的东西.
表名和字段名也是如此.
我正试图从我的表中获取空的"文本"字段,我用pgadmin手动清除.最初在那些领域是'',我可以像这样查询它们:
SELECT mystr, mystr1 FROM mytable WHERE mystr='' or mystr1=''
Run Code Online (Sandbox Code Playgroud)
但是,如果我从中删除文本并将单元格留空,则无效.
如何编写查询以将结果中的那些''和清除单元组合在一起?还是单独清除细胞?
通过在PG 9.1上使用libpq,我试图编写查询以从具有最高索引'my_id'的行获取值:
SELECT my_id, col2, col3
FROM mytable
WHERE my_id = MAX(my_id)
Run Code Online (Sandbox Code Playgroud)
这给了我错误:
错误:WHERE子句中不允许聚合...
如何正确编写这样的查询?
我通过命令行将我的数据库'mydatabase'转储到文本文件'mydatabase.sql'中.
"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_dump.exe " --host localhost --port 5432 --username "postgres" --no-password --verbose --file "C:\Users\User 1\Desktop\mydatabase.sql" "mydatabase"
Run Code Online (Sandbox Code Playgroud)
Thas'好转.但经过多次尝试后,我无法用数据将pg_restore文件重新发送回数据库.
但是,如果我删除此数据库中的所有表,我可以使用:
psql -f "C:\Users\User 1\Desktop\mydatabase.sql" "mydatabase" "postgres"
Run Code Online (Sandbox Code Playgroud)
这可以恢复所有数据.问题是我无法通过VBNET/shell运行pgsl所以我宁愿需要pg_restore.exe这是我的尝试:
"C:/Program Files (x86)/PostgreSQL/9.1/bin/pg_restore.exe " -i -h localhost -p 5432 -U postgres -d "mydatabase" -v "C:\Users\User 1\Desktop\mydatabase.sql"
Run Code Online (Sandbox Code Playgroud)
...我收到消息的地方:
C:\ Users\User 1>"C:/ Program Files(x86)/PostgreSQL/9.1/bin/pg_restore.exe"-i -h localhost -p 5432 -U postgres -d"mydatabase"-v"C:\用户\用户1\Desktop\mydatabase.sql"无效二进制"C:/ Program Files(x86)/PostgreSQL/9.1/bin/pg_restore.exe"pg_restore.exe:[archiver]输入文件似乎不是有效的存档
在尝试恢复之前,我在服务器上有空数据库'mydatabase'(没有表).请帮助pg_restore使用'mydatabase.sql',它与pg_dump一起转储,显然包含正确的数据,所以我可以通过纯命令行或VBNET/shell使用它.
有一段时间我试图在常见的VBNET密钥处理程序下捕获Ctrl+ Alt+ Right Shift Key.这是我的测试:
If e.Control And e.Alt And e.KeyCode = Keys.Space Then
MsgBox("CTRL + ALT + SPACE") ' This work
End If
If e.Control And e.Shift And e.KeyCode = Keys.F10 Then
MsgBox("CTRL + SHIFT + F10") ' This work
End If
If e.Control And e.Alt And e.KeyCode = Keys.ShiftKey Then
MsgBox("CTRL + ALT + SHIFT") ' This work
End If
If e.Alt And e.Shift And e.KeyCode = Keys.LWin Then
MsgBox("ALT + SHIFT + LEFT …Run Code Online (Sandbox Code Playgroud) 由于在VB.NET中定位表单的内置功能并不总是适合使用我尝试让我的sub做到这一点.
但我错过了一些东西......
Public Sub form_center(ByVal frm As Form, Optional ByVal parent As Form = Nothing)
Dim x As Integer
Dim y As Integer
Dim r As Rectangle
If Not parent Is Nothing Then
r = parent.ClientRectangle
x = r.Width - frm.Width + parent.Left
y = r.Height - frm.Height + parent.Top
Else
r = Screen.PrimaryScreen.WorkingArea
x = r.Width - frm.Width
y = r.Height - frm.Height
End If
x = CInt(x / 2)
y = CInt(y / 2)
frm.StartPosition = FormStartPosition.Manual
frm.Location …Run Code Online (Sandbox Code Playgroud) 可能重复:
如何在PostgreSQL查询中显示行号?
在Postgresql PostgreSQL中重新排序带有标识符的列使用带子
选择的更新重新排序
我只是问在PostgreSQL中是否存在这样的可能性:如果我有5行并且在一列中有数字1, 2, 3, 4, 5并且在那些列中不是主键如果我删除说tird行postgreSQL重新枚举这个列所以我可以1, 2, 3, 4代替1, 2, 4, 5?
这是我的运行时创建菜单的关键部分:
GtkWidget *menu, *menu_item;
menu = gtk_menu_new();
menu_item = gtk_image_menu_item_new_with_label("Uredi...");
//approach1 - icon don't work
//gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU));
//approach2 - icon also don't work
gtk_image_menu_item_set_image(GTK_IMAGE_MENU_ITEM(menu_item), GTK_WIDGET(gtk_image_new_from_stock(GTK_STOCK_EDIT, GTK_ICON_SIZE_MENU)));
gtk_menu_shell_append(GTK_MENU_SHELL(menu), menu_item);
g_signal_connect(G_OBJECT(menu_item), "button-release-event", G_CALLBACK(menu_RELEASE), (gpointer)"");
gtk_menu_attach_to_widget(GTK_MENU(menu), button, NULL);
gtk_widget_show_all(menu);
Run Code Online (Sandbox Code Playgroud)
菜单工作正常,但这只是一个"imagemenuitem",我看到标签,但看不到图像.这可能有什么不对?
Gtk2,Ubuntu 11.10
从未见过这样的错误:
错误[22P02]错误:整数的输入语法无效:""; 执行查询时出错
创建表:
Public Function PrimkCreate(ByVal myPrimkTable As String, ByVal nCon As OdbcConnection) As Integer
Dim ans As Integer
Dim cCommand As OdbcCommand = New OdbcCommand("CREATE TABLE IF NOT EXISTS " + myPrimkTable + "(" & _
"prm_id int NOT NULL, " & _
"pkni text, " & _
"pdatum text, " & _
"pdatumnaplate text, " & _
"pdanaodgode int, " & _
"puldok text, " & _
"puldokbroj text, " & _
"pdatumk text, " & _ …Run Code Online (Sandbox Code Playgroud)